@@ -597,9 +597,7 @@ TEST_UNINIT(empty, empty);
597
597
// PATTERN-O1: store i8 [[I8]], {{.*}} align 1, !annotation [[AUTO_INIT]]
598
598
// ZERO-LABEL: @test_empty_uninit()
599
599
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
600
- // ZERO-O1: store i8 0, {{.*}} align 1
601
- // FIXME: !annotation dropped by optimizations
602
- // ZERO-O1-NOT: !annotation
600
+ // ZERO-O1: store i8 0, {{.*}} align 1, !annotation [[AUTO_INIT]]
603
601
604
602
TEST_BRACES (empty, empty);
605
603
// CHECK-LABEL: @test_empty_braces()
@@ -618,9 +616,7 @@ TEST_UNINIT(small, small);
618
616
// PATTERN-O1: store i8 [[I8]], {{.*}} align 1, !annotation [[AUTO_INIT]]
619
617
// ZERO-LABEL: @test_small_uninit()
620
618
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
621
- // ZERO-O1: store i8 0, {{.*}} align 1
622
- // FIXME: !annotation dropped by optimizations
623
- // ZERO-O1-NOT: !annotation
619
+ // ZERO-O1: store i8 0, {{.*}} align 1, !annotation [[AUTO_INIT]]
624
620
625
621
TEST_BRACES (small, small);
626
622
// CHECK-LABEL: @test_small_braces()
@@ -671,10 +667,8 @@ TEST_UNINIT(smallpartinit, smallpartinit);
671
667
// PATTERN-O1: store i8 42, {{.*}} align 1
672
668
// ZERO-LABEL: @test_smallpartinit_uninit()
673
669
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
674
- // ZERO-O1-LEGACY: store i16 0, i16* %uninit, align 2
675
- // ZERO-O1-NEWPM: store i16 0, i16* %uninit, align 2
676
- // FIXME: !annotation dropped by optimizations
677
- // ZERO-O1-NOT: !annotation
670
+ // ZERO-O1-LEGACY: store i16 0, i16* %uninit, align 2, !annotation [[AUTO_INIT]]
671
+ // ZERO-O1-NEWPM: store i16 0, i16* %uninit, align 2, !annotation [[AUTO_INIT]]
678
672
679
673
TEST_BRACES (smallpartinit, smallpartinit);
680
674
// CHECK-LABEL: @test_smallpartinit_braces()
@@ -726,14 +720,10 @@ TEST_UNINIT(padded, padded);
726
720
// CHECK-NEXT: call void @{{.*}}used{{.*}}%uninit)
727
721
// PATTERN-LABEL: @test_padded_uninit()
728
722
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_padded_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
729
- // PATTERN-O1: store i64 [[I64]], i64* %uninit, align 8
730
- // FIXME: !annotation dropped by optimizations
731
- // PATTERN-O1-NOT: !annotation
723
+ // PATTERN-O1: store i64 [[I64]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
732
724
// ZERO-LABEL: @test_padded_uninit()
733
- // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}})
734
- // ZERO-O1: store i64 0, i64* %uninit, align 8
735
- // FIXME: !annotation dropped by optimizations
736
- // ZERO-O1-NOT: !annotation
725
+ // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
726
+ // ZERO-O1: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
737
727
738
728
TEST_BRACES (padded, padded);
739
729
// CHECK-LABEL: @test_padded_braces()
@@ -758,15 +748,16 @@ TEST_UNINIT(paddednullinit, paddednullinit);
758
748
// CHECK-NEXT: call void @{{.*}}used{{.*}}%uninit)
759
749
// PATTERN-LABEL: @test_paddednullinit_uninit()
760
750
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_paddednullinit_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
761
- // PATTERN-O1-LEGACY: store i64 [[I64]], i64* %uninit, align 8
762
- // PATTERN-O1-NEWPM: store i64 [[I64]], i64* %uninit, align 8
763
- // FIXME: !annotation dropped by optimizations
764
- // PATTERN-O1-NOT: !annotation
751
+ // PATTERN-O1-LEGACY: store i64 [[I64]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
752
+ // PATTERN-O1-NEWPM: store i64 [[I64]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
765
753
// ZERO-LABEL: @test_paddednullinit_uninit()
766
- // ZERO-O0: call void @llvm.memset{{.*}}, i8 0,
767
- // ZERO-O1: store i64 0, i64* %uninit, align 8
754
+ // ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.*}}, !annotation [[AUTO_INIT]]
755
+ // ZERO-O1-LEGACY: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
756
+ // ZERO-O1-NEWPM: store i64 0, i64* %uninit, align 8
768
757
// FIXME: !annotation dropped by optimizations
769
- // ZERO-O1-NOT: !annotation
758
+ // ZERO-O1-NEWPM-NOT: !annotation
759
+ // ZERO: ret
760
+
770
761
771
762
TEST_BRACES (paddednullinit, paddednullinit);
772
763
// CHECK-LABEL: @test_paddednullinit_braces()
@@ -922,9 +913,7 @@ TEST_UNINIT(bitfield, bitfield);
922
913
// PATTERN-O1-NOT: !annotation
923
914
// ZERO-LABEL: @test_bitfield_uninit()
924
915
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0{{.+}}), !annotation [[AUTO_INIT]]
925
- // ZERO-O1: store i32 0, i32* %uninit, align 4
926
- // FIXME: !annotation dropped by optimizations
927
- // ZERO-O1-NOT: !annotation
916
+ // ZERO-O1: store i32 0, i32* %uninit, align 4, !annotation [[AUTO_INIT]]
928
917
929
918
TEST_BRACES (bitfield, bitfield);
930
919
// CHECK-LABEL: @test_bitfield_braces()
@@ -953,9 +942,7 @@ TEST_UNINIT(bitfieldaligned, bitfieldaligned);
953
942
// PATTERN-O1-NOT: !annotation
954
943
// ZERO-LABEL: @test_bitfieldaligned_uninit()
955
944
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
956
- // ZERO-O1: store i64 0, i64* %uninit, align 8
957
- // FIXME: !annotation dropped by optimizations
958
- // ZERO-O1-NOT: !annotation
945
+ // ZERO-O1: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
959
946
960
947
TEST_BRACES (bitfieldaligned, bitfieldaligned);
961
948
// CHECK-LABEL: @test_bitfieldaligned_braces()
@@ -1007,9 +994,7 @@ TEST_UNINIT(arraytail, arraytail);
1007
994
// PATTERN-O1: store i32 [[I32]], {{.*}} align 4, !annotation [[AUTO_INIT]]
1008
995
// ZERO-LABEL: @test_arraytail_uninit()
1009
996
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
1010
- // ZERO-O1: store i32 0, {{.*}} align 4
1011
- // FIXME: !annotation dropped by optimizations
1012
- // ZERO-O1-NOT: !annotation
997
+ // ZERO-O1: store i32 0, {{.*}} align 4, !annotation [[AUTO_INIT]]
1013
998
1014
999
TEST_BRACES (arraytail, arraytail);
1015
1000
// CHECK-LABEL: @test_arraytail_braces()
@@ -1053,9 +1038,7 @@ TEST_UNINIT(int1, int[1]);
1053
1038
// PATTERN-O1: store i32 [[I32]], {{.*}} align 4, !annotation [[AUTO_INIT]]
1054
1039
// ZERO-LABEL: @test_int1_uninit()
1055
1040
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
1056
- // ZERO-O1: store i32 0, {{.*}} align 4
1057
- // FIXME: !annotation dropped by optimizations
1058
- // ZERO-O1-NOT: !annotation
1041
+ // ZERO-O1: store i32 0, {{.*}} align 4, !annotation [[AUTO_INIT]]
1059
1042
1060
1043
TEST_BRACES (int1, int [1 ]);
1061
1044
// CHECK-LABEL: @test_int1_braces()
@@ -1109,9 +1092,7 @@ TEST_UNINIT(bool4, bool[4]);
1109
1092
// PATTERN-O1-NOT: !annotation
1110
1093
// ZERO-LABEL: @test_bool4_uninit()
1111
1094
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
1112
- // ZERO-O1: store i32 0, i32* %uninit, align 4
1113
- // FIXME: !annotation dropped by optimizations
1114
- // ZERO-O1-NOT: !annotation
1095
+ // ZERO-O1: store i32 0, i32* %uninit, align 4, !annotation [[AUTO_INIT]]
1115
1096
1116
1097
TEST_BRACES (bool4, bool [4 ]);
1117
1098
// CHECK-LABEL: @test_bool4_braces()
@@ -1244,7 +1225,7 @@ TEST_UNINIT(atomicnotlockfree, _Atomic(notlockfree));
1244
1225
// PATTERN-LABEL: @test_atomicnotlockfree_uninit()
1245
1226
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_atomicnotlockfree_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1246
1227
// PATTERN-O1: bitcast
1247
- // PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}, i8 [[I8]], i64 32
1228
+ // PATTERN-O1: call void @llvm.memset{{.*}}({{.*}}, i8 [[I8]], i64 32{{.*}}
1248
1229
// FIXME: !annotation dropped by optimizations
1249
1230
// PATTERN-O1-NOT: !annotation
1250
1231
// ZERO-LABEL: @test_atomicnotlockfree_uninit()
@@ -1256,14 +1237,10 @@ TEST_UNINIT(atomicpadded, _Atomic(padded));
1256
1237
// CHECK-NEXT: call void @{{.*}}used{{.*}}%uninit)
1257
1238
// PATTERN-LABEL: @test_atomicpadded_uninit()
1258
1239
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_atomicpadded_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1259
- // PATTERN-O1: store i64 [[IPTR]], i64* %uninit, align 8
1260
- // FIXME: !annotation dropped by optimizations
1261
- // PATTERN-O1-NOT: !annotation
1240
+ // PATTERN-O1: store i64 [[IPTR]], i64* %uninit, align 8, !annotation [[AUTO_INIT]]
1262
1241
// ZERO-LABEL: @test_atomicpadded_uninit()
1263
1242
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1264
- // ZERO-O1: store i64 0, i64* %uninit, align 8
1265
- // FIXME: !annotation dropped by optimizations
1266
- // ZERO-O1-NOT: !annotation
1243
+ // ZERO-O1: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
1267
1244
1268
1245
TEST_UNINIT (atomictailpad, _Atomic(tailpad));
1269
1246
// CHECK-LABEL: @test_atomictailpad_uninit()
@@ -1273,9 +1250,7 @@ TEST_UNINIT(atomictailpad, _Atomic(tailpad));
1273
1250
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_atomictailpad_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1274
1251
// ZERO-LABEL: @test_atomictailpad_uninit()
1275
1252
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
1276
- // ZERO-O1: store i32 0, i32* %uninit, align 4
1277
- // FIXME: !annotation dropped by optimizations
1278
- // ZERO-O1-NOT: !annotation
1253
+ // ZERO-O1: store i32 0, i32* %uninit, align 4, !annotation [[AUTO_INIT]]
1279
1254
1280
1255
TEST_UNINIT (complexfloat, _Complex float );
1281
1256
// CHECK-LABEL: @test_complexfloat_uninit()
@@ -1291,9 +1266,7 @@ TEST_UNINIT(complexfloat, _Complex float);
1291
1266
1292
1267
// ZERO-LABEL: @test_complexfloat_uninit()
1293
1268
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1294
- // ZERO-O1: store i64 0, i64* %uninit, align 8
1295
- // FIXME: !annotation dropped by optimizations
1296
- // ZERO-O1-NOT: !annotation
1269
+ // ZERO-O1: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
1297
1270
1298
1271
TEST_BRACES (complexfloat, _Complex float );
1299
1272
// CHECK-LABEL: @test_complexfloat_braces()
@@ -1372,9 +1345,7 @@ TEST_UNINIT(semivolatile, semivolatile);
1372
1345
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_semivolatile_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1373
1346
// ZERO-LABEL: @test_semivolatile_uninit()
1374
1347
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1375
- // ZERO-O1: store i64 0, i64* %uninit, align 8
1376
- // FIXME: !annotation dropped by optimizations
1377
- // ZERO-O1-NOT: !annotation
1348
+ // ZERO-O1: store i64 0, i64* %uninit, align 8, !annotation [[AUTO_INIT]]
1378
1349
1379
1350
TEST_BRACES (semivolatile, semivolatile);
1380
1351
// CHECK-LABEL: @test_semivolatile_braces()
@@ -1433,8 +1404,7 @@ TEST_UNINIT(base, base);
1433
1404
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
1434
1405
// ZERO-O1-LEGACY: store i64 0, {{.*}} align 8
1435
1406
// ZERO-O1-NEWPM: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTV4base, i64 0, inrange i32 0, i64 2) to i32 (...)**), {{.*}}, align 8
1436
- // FIXME: !annotation dropped by optimizations
1437
- // ZERO-O1-NOT: !annotation
1407
+ // ZERO-O1-NOT-NEWPM: !annotation
1438
1408
1439
1409
TEST_BRACES (base, base);
1440
1410
// CHECK-LABEL: @test_base_braces()
@@ -1454,10 +1424,8 @@ TEST_UNINIT(derived, derived);
1454
1424
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_derived_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1455
1425
// ZERO-LABEL: @test_derived_uninit()
1456
1426
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1457
- // ZERO-O1-LEGACY : store i64 0, {{.*}} align 8
1427
+ // ZERO-O1: store i64 0, {{.*}} align 8, !annotation [[AUTO_INIT]]
1458
1428
// ZERO-O1-NEWPM: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [4 x i8*] }, { [4 x i8*] }* @_ZTV7derived, i64 0, inrange i32 0, i64 2) to i32 (...)**), {{.*}} align 8
1459
- // FIXME: !annotation dropped by optimizations
1460
- // ZERO-O1-NOT: !annotation
1461
1429
1462
1430
TEST_BRACES (derived, derived);
1463
1431
// CHECK-LABEL: @test_derived_braces()
@@ -1497,9 +1465,7 @@ TEST_UNINIT(matching, matching);
1497
1465
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_matching_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1498
1466
// ZERO-LABEL: @test_matching_uninit()
1499
1467
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1500
- // ZERO-O1: store i32 0, {{.*}} align 4
1501
- // FIXME: !annotation dropped by optimizations
1502
- // ZERO-O1-NOT: !annotation
1468
+ // ZERO-O1: store i32 0, {{.*}} align 4, !annotation [[AUTO_INIT]]
1503
1469
1504
1470
TEST_BRACES (matching, matching);
1505
1471
// CHECK-LABEL: @test_matching_braces()
@@ -1529,9 +1495,7 @@ TEST_UNINIT(matchingreverse, matchingreverse);
1529
1495
// PATTERN-O1: store float 0xFFFFFFFFE0000000, {{.+}}, !annotation [[AUTO_INIT]]
1530
1496
// ZERO-LABEL: @test_matchingreverse_uninit()
1531
1497
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0,{{.+}}), !annotation [[AUTO_INIT]]
1532
- // ZERO-O1: store i32 0, {{.*}} align 4
1533
- // FIXME: !annotation dropped by optimizations
1534
- // ZERO-O1-NOT: !annotation
1498
+ // ZERO-O1: store i32 0, {{.*}} align 4, !annotation [[AUTO_INIT]]
1535
1499
1536
1500
TEST_BRACES (matchingreverse, matchingreverse);
1537
1501
// CHECK-LABEL: @test_matchingreverse_braces()
@@ -1559,9 +1523,7 @@ TEST_UNINIT(unmatched, unmatched);
1559
1523
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_unmatched_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1560
1524
// ZERO-LABEL: @test_unmatched_uninit()
1561
1525
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1562
- // ZERO-O1: store i32 0, {{.*}} align 4
1563
- // FIXME: !annotation dropped by optimizations
1564
- // ZERO-O1-NOT: !annotation
1526
+ // ZERO-O1: store i32 0, {{.*}} align 4, !annotation [[AUTO_INIT]]
1565
1527
1566
1528
TEST_BRACES (unmatched, unmatched);
1567
1529
// CHECK-LABEL: @test_unmatched_braces()
@@ -1589,9 +1551,7 @@ TEST_UNINIT(unmatchedreverse, unmatchedreverse);
1589
1551
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_unmatchedreverse_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1590
1552
// ZERO-LABEL: @test_unmatchedreverse_uninit()
1591
1553
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1592
- // ZERO-O1: store i32 0, {{.*}} align 4
1593
- // FIXME: !annotation dropped by optimizations
1594
- // ZERO-O1-NOT: !annotation
1554
+ // ZERO-O1: store i32 0, {{.*}} align 4, !annotation [[AUTO_INIT]]
1595
1555
1596
1556
TEST_BRACES (unmatchedreverse, unmatchedreverse);
1597
1557
// CHECK-LABEL: @test_unmatchedreverse_braces()
@@ -1619,9 +1579,7 @@ TEST_UNINIT(unmatchedfp, unmatchedfp);
1619
1579
// PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_unmatchedfp_uninit.uninit{{.+}}), !annotation [[AUTO_INIT]]
1620
1580
// ZERO-LABEL: @test_unmatchedfp_uninit()
1621
1581
// ZERO-O0: call void @llvm.memset{{.*}}, i8 0, {{.+}}), !annotation [[AUTO_INIT]]
1622
- // ZERO-O1: store i64 0, {{.*}} align 8
1623
- // FIXME: !annotation dropped by optimizations
1624
- // ZERO-O1-NOT: !annotation
1582
+ // ZERO-O1: store i64 0, {{.*}} align 8, !annotation [[AUTO_INIT]]
1625
1583
1626
1584
TEST_BRACES (unmatchedfp, unmatchedfp);
1627
1585
// CHECK-LABEL: @test_unmatchedfp_braces()
0 commit comments