Skip to content

Commit 24f97c4

Browse files
nikicakiramenai
authored andcommitted
[UnitTests] Fix APInt signed flags (NFC)
This makes unit tests compatible with the assertion added in llvm/llvm-project#106524, by setting the isSigned flag to the correct value or changing how the value is constructed.
1 parent 76e44d0 commit 24f97c4

File tree

6 files changed

+114
-110
lines changed

6 files changed

+114
-110
lines changed

llvm/unittests/ADT/APIntTest.cpp

Lines changed: 91 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,11 +1111,11 @@ TEST(APIntTest, fromString) {
11111111
EXPECT_EQ(APInt(32, 3), APInt(32, "+11", 2));
11121112
EXPECT_EQ(APInt(32, 4), APInt(32, "+100", 2));
11131113

1114-
EXPECT_EQ(APInt(32, uint64_t(-0LL)), APInt(32, "-0", 2));
1115-
EXPECT_EQ(APInt(32, uint64_t(-1LL)), APInt(32, "-1", 2));
1116-
EXPECT_EQ(APInt(32, uint64_t(-2LL)), APInt(32, "-10", 2));
1117-
EXPECT_EQ(APInt(32, uint64_t(-3LL)), APInt(32, "-11", 2));
1118-
EXPECT_EQ(APInt(32, uint64_t(-4LL)), APInt(32, "-100", 2));
1114+
EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 2));
1115+
EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 2));
1116+
EXPECT_EQ(APInt(32, uint32_t(-2LL)), APInt(32, "-10", 2));
1117+
EXPECT_EQ(APInt(32, uint32_t(-3LL)), APInt(32, "-11", 2));
1118+
EXPECT_EQ(APInt(32, uint32_t(-4LL)), APInt(32, "-100", 2));
11191119

11201120
EXPECT_EQ(APInt(32, 0), APInt(32, "0", 8));
11211121
EXPECT_EQ(APInt(32, 1), APInt(32, "1", 8));
@@ -1131,12 +1131,12 @@ TEST(APIntTest, fromString) {
11311131
EXPECT_EQ(APInt(32, +15), APInt(32, "+17", 8));
11321132
EXPECT_EQ(APInt(32, +16), APInt(32, "+20", 8));
11331133

1134-
EXPECT_EQ(APInt(32, uint64_t(-0LL)), APInt(32, "-0", 8));
1135-
EXPECT_EQ(APInt(32, uint64_t(-1LL)), APInt(32, "-1", 8));
1136-
EXPECT_EQ(APInt(32, uint64_t(-7LL)), APInt(32, "-7", 8));
1137-
EXPECT_EQ(APInt(32, uint64_t(-8LL)), APInt(32, "-10", 8));
1138-
EXPECT_EQ(APInt(32, uint64_t(-15LL)), APInt(32, "-17", 8));
1139-
EXPECT_EQ(APInt(32, uint64_t(-16LL)), APInt(32, "-20", 8));
1134+
EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 8));
1135+
EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 8));
1136+
EXPECT_EQ(APInt(32, uint32_t(-7LL)), APInt(32, "-7", 8));
1137+
EXPECT_EQ(APInt(32, uint32_t(-8LL)), APInt(32, "-10", 8));
1138+
EXPECT_EQ(APInt(32, uint32_t(-15LL)), APInt(32, "-17", 8));
1139+
EXPECT_EQ(APInt(32, uint32_t(-16LL)), APInt(32, "-20", 8));
11401140

11411141
EXPECT_EQ(APInt(32, 0), APInt(32, "0", 10));
11421142
EXPECT_EQ(APInt(32, 1), APInt(32, "1", 10));
@@ -1145,12 +1145,12 @@ TEST(APIntTest, fromString) {
11451145
EXPECT_EQ(APInt(32, 19), APInt(32, "19", 10));
11461146
EXPECT_EQ(APInt(32, 20), APInt(32, "20", 10));
11471147

1148-
EXPECT_EQ(APInt(32, uint64_t(-0LL)), APInt(32, "-0", 10));
1149-
EXPECT_EQ(APInt(32, uint64_t(-1LL)), APInt(32, "-1", 10));
1150-
EXPECT_EQ(APInt(32, uint64_t(-9LL)), APInt(32, "-9", 10));
1151-
EXPECT_EQ(APInt(32, uint64_t(-10LL)), APInt(32, "-10", 10));
1152-
EXPECT_EQ(APInt(32, uint64_t(-19LL)), APInt(32, "-19", 10));
1153-
EXPECT_EQ(APInt(32, uint64_t(-20LL)), APInt(32, "-20", 10));
1148+
EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 10));
1149+
EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 10));
1150+
EXPECT_EQ(APInt(32, uint32_t(-9LL)), APInt(32, "-9", 10));
1151+
EXPECT_EQ(APInt(32, uint32_t(-10LL)), APInt(32, "-10", 10));
1152+
EXPECT_EQ(APInt(32, uint32_t(-19LL)), APInt(32, "-19", 10));
1153+
EXPECT_EQ(APInt(32, uint32_t(-20LL)), APInt(32, "-20", 10));
11541154

11551155
EXPECT_EQ(APInt(32, 0), APInt(32, "0", 16));
11561156
EXPECT_EQ(APInt(32, 1), APInt(32, "1", 16));
@@ -1159,12 +1159,12 @@ TEST(APIntTest, fromString) {
11591159
EXPECT_EQ(APInt(32, 31), APInt(32, "1F", 16));
11601160
EXPECT_EQ(APInt(32, 32), APInt(32, "20", 16));
11611161

1162-
EXPECT_EQ(APInt(32, uint64_t(-0LL)), APInt(32, "-0", 16));
1163-
EXPECT_EQ(APInt(32, uint64_t(-1LL)), APInt(32, "-1", 16));
1164-
EXPECT_EQ(APInt(32, uint64_t(-15LL)), APInt(32, "-F", 16));
1165-
EXPECT_EQ(APInt(32, uint64_t(-16LL)), APInt(32, "-10", 16));
1166-
EXPECT_EQ(APInt(32, uint64_t(-31LL)), APInt(32, "-1F", 16));
1167-
EXPECT_EQ(APInt(32, uint64_t(-32LL)), APInt(32, "-20", 16));
1162+
EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 16));
1163+
EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 16));
1164+
EXPECT_EQ(APInt(32, uint32_t(-15LL)), APInt(32, "-F", 16));
1165+
EXPECT_EQ(APInt(32, uint32_t(-16LL)), APInt(32, "-10", 16));
1166+
EXPECT_EQ(APInt(32, uint32_t(-31LL)), APInt(32, "-1F", 16));
1167+
EXPECT_EQ(APInt(32, uint32_t(-32LL)), APInt(32, "-20", 16));
11681168

11691169
EXPECT_EQ(APInt(32, 0), APInt(32, "0", 36));
11701170
EXPECT_EQ(APInt(32, 1), APInt(32, "1", 36));
@@ -1173,12 +1173,12 @@ TEST(APIntTest, fromString) {
11731173
EXPECT_EQ(APInt(32, 71), APInt(32, "1Z", 36));
11741174
EXPECT_EQ(APInt(32, 72), APInt(32, "20", 36));
11751175

1176-
EXPECT_EQ(APInt(32, uint64_t(-0LL)), APInt(32, "-0", 36));
1177-
EXPECT_EQ(APInt(32, uint64_t(-1LL)), APInt(32, "-1", 36));
1178-
EXPECT_EQ(APInt(32, uint64_t(-35LL)), APInt(32, "-Z", 36));
1179-
EXPECT_EQ(APInt(32, uint64_t(-36LL)), APInt(32, "-10", 36));
1180-
EXPECT_EQ(APInt(32, uint64_t(-71LL)), APInt(32, "-1Z", 36));
1181-
EXPECT_EQ(APInt(32, uint64_t(-72LL)), APInt(32, "-20", 36));
1176+
EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 36));
1177+
EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 36));
1178+
EXPECT_EQ(APInt(32, uint32_t(-35LL)), APInt(32, "-Z", 36));
1179+
EXPECT_EQ(APInt(32, uint32_t(-36LL)), APInt(32, "-10", 36));
1180+
EXPECT_EQ(APInt(32, uint32_t(-71LL)), APInt(32, "-1Z", 36));
1181+
EXPECT_EQ(APInt(32, uint32_t(-72LL)), APInt(32, "-20", 36));
11821182
}
11831183

11841184
TEST(APIntTest, SaturatingMath) {
@@ -1202,63 +1202,64 @@ TEST(APIntTest, SaturatingMath) {
12021202
EXPECT_EQ(APInt(6, 31), AP_42.truncSSat(6));
12031203
EXPECT_EQ(APInt(5, 15), AP_42.truncSSat(5));
12041204

1205-
EXPECT_EQ(APInt(8, -56), AP_200.truncSSat(8));
1206-
EXPECT_EQ(APInt(7, -56), AP_200.truncSSat(7));
1207-
EXPECT_EQ(APInt(6, -32), AP_200.truncSSat(6));
1208-
EXPECT_EQ(APInt(5, -16), AP_200.truncSSat(5));
1205+
EXPECT_EQ(APInt(8, -56, true), AP_200.truncSSat(8));
1206+
EXPECT_EQ(APInt(7, -56, true), AP_200.truncSSat(7));
1207+
EXPECT_EQ(APInt(6, -32, true), AP_200.truncSSat(6));
1208+
EXPECT_EQ(APInt(5, -16, true), AP_200.truncSSat(5));
12091209

12101210
EXPECT_EQ(APInt(8, 200), AP_100.uadd_sat(AP_100));
12111211
EXPECT_EQ(APInt(8, 255), AP_100.uadd_sat(AP_200));
12121212
EXPECT_EQ(APInt(8, 255), APInt(8, 255).uadd_sat(APInt(8, 255)));
12131213

12141214
EXPECT_EQ(APInt(8, 110), AP_10.sadd_sat(AP_100));
12151215
EXPECT_EQ(APInt(8, 127), AP_100.sadd_sat(AP_100));
1216-
EXPECT_EQ(APInt(8, -128), (-AP_100).sadd_sat(-AP_100));
1217-
EXPECT_EQ(APInt(8, -128), APInt(8, -128).sadd_sat(APInt(8, -128)));
1216+
EXPECT_EQ(APInt(8, -128, true), (-AP_100).sadd_sat(-AP_100));
1217+
EXPECT_EQ(APInt(8, -128, true),
1218+
APInt(8, -128, true).sadd_sat(APInt(8, -128, true)));
12181219

12191220
EXPECT_EQ(APInt(8, 90), AP_100.usub_sat(AP_10));
12201221
EXPECT_EQ(APInt(8, 0), AP_100.usub_sat(AP_200));
12211222
EXPECT_EQ(APInt(8, 0), APInt(8, 0).usub_sat(APInt(8, 255)));
12221223

1223-
EXPECT_EQ(APInt(8, -90), AP_10.ssub_sat(AP_100));
1224+
EXPECT_EQ(APInt(8, -90, true), AP_10.ssub_sat(AP_100));
12241225
EXPECT_EQ(APInt(8, 127), AP_100.ssub_sat(-AP_100));
1225-
EXPECT_EQ(APInt(8, -128), (-AP_100).ssub_sat(AP_100));
1226-
EXPECT_EQ(APInt(8, -128), APInt(8, -128).ssub_sat(APInt(8, 127)));
1226+
EXPECT_EQ(APInt(8, -128, true), (-AP_100).ssub_sat(AP_100));
1227+
EXPECT_EQ(APInt(8, -128, true), APInt(8, -128, true).ssub_sat(APInt(8, 127)));
12271228

12281229
EXPECT_EQ(APInt(8, 250), APInt(8, 50).umul_sat(APInt(8, 5)));
12291230
EXPECT_EQ(APInt(8, 255), APInt(8, 50).umul_sat(APInt(8, 6)));
1230-
EXPECT_EQ(APInt(8, 255), APInt(8, -128).umul_sat(APInt(8, 3)));
1231-
EXPECT_EQ(APInt(8, 255), APInt(8, 3).umul_sat(APInt(8, -128)));
1232-
EXPECT_EQ(APInt(8, 255), APInt(8, -128).umul_sat(APInt(8, -128)));
1231+
EXPECT_EQ(APInt(8, 255), APInt(8, -128, true).umul_sat(APInt(8, 3)));
1232+
EXPECT_EQ(APInt(8, 255), APInt(8, 3).umul_sat(APInt(8, -128, true)));
1233+
EXPECT_EQ(APInt(8, 255), APInt(8, -128, true).umul_sat(APInt(8, -128, true)));
12331234

12341235
EXPECT_EQ(APInt(8, 125), APInt(8, 25).smul_sat(APInt(8, 5)));
12351236
EXPECT_EQ(APInt(8, 127), APInt(8, 25).smul_sat(APInt(8, 6)));
12361237
EXPECT_EQ(APInt(8, 127), APInt(8, 127).smul_sat(APInt(8, 127)));
1237-
EXPECT_EQ(APInt(8, -125), APInt(8, -25).smul_sat(APInt(8, 5)));
1238-
EXPECT_EQ(APInt(8, -125), APInt(8, 25).smul_sat(APInt(8, -5)));
1239-
EXPECT_EQ(APInt(8, 125), APInt(8, -25).smul_sat(APInt(8, -5)));
1238+
EXPECT_EQ(APInt(8, -125, true), APInt(8, -25, true).smul_sat(APInt(8, 5)));
1239+
EXPECT_EQ(APInt(8, -125, true), APInt(8, 25).smul_sat(APInt(8, -5, true)));
1240+
EXPECT_EQ(APInt(8, 125), APInt(8, -25, true).smul_sat(APInt(8, -5, true)));
12401241
EXPECT_EQ(APInt(8, 125), APInt(8, 25).smul_sat(APInt(8, 5)));
1241-
EXPECT_EQ(APInt(8, -128), APInt(8, -25).smul_sat(APInt(8, 6)));
1242-
EXPECT_EQ(APInt(8, -128), APInt(8, 25).smul_sat(APInt(8, -6)));
1243-
EXPECT_EQ(APInt(8, 127), APInt(8, -25).smul_sat(APInt(8, -6)));
1242+
EXPECT_EQ(APInt(8, -128, true), APInt(8, -25, true).smul_sat(APInt(8, 6)));
1243+
EXPECT_EQ(APInt(8, -128, true), APInt(8, 25).smul_sat(APInt(8, -6, true)));
1244+
EXPECT_EQ(APInt(8, 127), APInt(8, -25, true).smul_sat(APInt(8, -6, true)));
12441245
EXPECT_EQ(APInt(8, 127), APInt(8, 25).smul_sat(APInt(8, 6)));
12451246

12461247
EXPECT_EQ(APInt(8, 128), APInt(8, 4).ushl_sat(APInt(8, 5)));
12471248
EXPECT_EQ(APInt(8, 255), APInt(8, 4).ushl_sat(APInt(8, 6)));
12481249
EXPECT_EQ(APInt(8, 128), APInt(8, 1).ushl_sat(APInt(8, 7)));
12491250
EXPECT_EQ(APInt(8, 255), APInt(8, 1).ushl_sat(APInt(8, 8)));
1250-
EXPECT_EQ(APInt(8, 255), APInt(8, -128).ushl_sat(APInt(8, 2)));
1251+
EXPECT_EQ(APInt(8, 255), APInt(8, -128, true).ushl_sat(APInt(8, 2)));
12511252
EXPECT_EQ(APInt(8, 255), APInt(8, 64).ushl_sat(APInt(8, 2)));
1252-
EXPECT_EQ(APInt(8, 255), APInt(8, 64).ushl_sat(APInt(8, -2)));
1253+
EXPECT_EQ(APInt(8, 255), APInt(8, 64).ushl_sat(APInt(8, -2, true)));
12531254

12541255
EXPECT_EQ(APInt(8, 64), APInt(8, 4).sshl_sat(APInt(8, 4)));
12551256
EXPECT_EQ(APInt(8, 127), APInt(8, 4).sshl_sat(APInt(8, 5)));
12561257
EXPECT_EQ(APInt(8, 127), APInt(8, 1).sshl_sat(APInt(8, 8)));
1257-
EXPECT_EQ(APInt(8, -64), APInt(8, -4).sshl_sat(APInt(8, 4)));
1258-
EXPECT_EQ(APInt(8, -128), APInt(8, -4).sshl_sat(APInt(8, 5)));
1259-
EXPECT_EQ(APInt(8, -128), APInt(8, -4).sshl_sat(APInt(8, 6)));
1260-
EXPECT_EQ(APInt(8, -128), APInt(8, -1).sshl_sat(APInt(8, 7)));
1261-
EXPECT_EQ(APInt(8, -128), APInt(8, -1).sshl_sat(APInt(8, 8)));
1258+
EXPECT_EQ(APInt(8, -64, true), APInt(8, -4, true).sshl_sat(APInt(8, 4)));
1259+
EXPECT_EQ(APInt(8, -128, true), APInt(8, -4, true).sshl_sat(APInt(8, 5)));
1260+
EXPECT_EQ(APInt(8, -128, true), APInt(8, -4, true).sshl_sat(APInt(8, 6)));
1261+
EXPECT_EQ(APInt(8, -128, true), APInt(8, -1, true).sshl_sat(APInt(8, 7)));
1262+
EXPECT_EQ(APInt(8, -128, true), APInt(8, -1, true).sshl_sat(APInt(8, 8)));
12621263
}
12631264

12641265
TEST(APIntTest, FromArray) {
@@ -1400,39 +1401,39 @@ TEST(APIntTest, toString) {
14001401
S.clear();
14011402

14021403
isSigned = false;
1403-
APInt(8, 255, isSigned).toString(S, 2, isSigned, true);
1404+
APInt(8, 255).toString(S, 2, isSigned, true);
14041405
EXPECT_EQ(std::string(S), "0b11111111");
14051406
S.clear();
1406-
APInt(8, 255, isSigned).toString(S, 8, isSigned, true);
1407+
APInt(8, 255).toString(S, 8, isSigned, true);
14071408
EXPECT_EQ(std::string(S), "0377");
14081409
S.clear();
1409-
APInt(8, 255, isSigned).toString(S, 10, isSigned, true);
1410+
APInt(8, 255).toString(S, 10, isSigned, true);
14101411
EXPECT_EQ(std::string(S), "255");
14111412
S.clear();
1412-
APInt(8, 255, isSigned).toString(S, 16, isSigned, true, /*UpperCase=*/false);
1413+
APInt(8, 255).toString(S, 16, isSigned, true, /*UpperCase=*/false);
14131414
EXPECT_EQ(std::string(S), "0xff");
14141415
S.clear();
1415-
APInt(8, 255, isSigned).toString(S, 16, isSigned, true);
1416+
APInt(8, 255).toString(S, 16, isSigned, true);
14161417
EXPECT_EQ(std::string(S), "0xFF");
14171418
S.clear();
1418-
APInt(8, 255, isSigned).toString(S, 36, isSigned, false);
1419+
APInt(8, 255).toString(S, 36, isSigned, false);
14191420
EXPECT_EQ(std::string(S), "73");
14201421
S.clear();
14211422

14221423
isSigned = true;
1423-
APInt(8, 255, isSigned).toString(S, 2, isSigned, true);
1424+
APInt(8, 255).toString(S, 2, isSigned, true);
14241425
EXPECT_EQ(std::string(S), "-0b1");
14251426
S.clear();
1426-
APInt(8, 255, isSigned).toString(S, 8, isSigned, true);
1427+
APInt(8, 255).toString(S, 8, isSigned, true);
14271428
EXPECT_EQ(std::string(S), "-01");
14281429
S.clear();
1429-
APInt(8, 255, isSigned).toString(S, 10, isSigned, true);
1430+
APInt(8, 255).toString(S, 10, isSigned, true);
14301431
EXPECT_EQ(std::string(S), "-1");
14311432
S.clear();
1432-
APInt(8, 255, isSigned).toString(S, 16, isSigned, true);
1433+
APInt(8, 255).toString(S, 16, isSigned, true);
14331434
EXPECT_EQ(std::string(S), "-0x1");
14341435
S.clear();
1435-
APInt(8, 255, isSigned).toString(S, 36, isSigned, false);
1436+
APInt(8, 255).toString(S, 36, isSigned, false);
14361437
EXPECT_EQ(std::string(S), "-1");
14371438
S.clear();
14381439

@@ -1515,7 +1516,7 @@ TEST(APIntTest, Rotate) {
15151516
EXPECT_EQ(APInt(32, 2), APInt(32, 1).rotl(APInt(33, 33)));
15161517
EXPECT_EQ(APInt(32, (1 << 8)), APInt(32, 1).rotl(APInt(32, 40)));
15171518
EXPECT_EQ(APInt(32, (1 << 30)), APInt(32, 1).rotl(APInt(31, 30)));
1518-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotl(APInt(31, 31)));
1519+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotl(APInt(31, 31)));
15191520

15201521
EXPECT_EQ(APInt(32, 1), APInt(32, 1).rotl(APInt(1, 0)));
15211522
EXPECT_EQ(APInt(32, 2), APInt(32, 1).rotl(APInt(1, 1)));
@@ -1542,24 +1543,24 @@ TEST(APIntTest, Rotate) {
15421543
EXPECT_EQ(APInt(8, 16), APInt(8, 1).rotr(4));
15431544
EXPECT_EQ(APInt(8, 1), APInt(8, 1).rotr(8));
15441545

1545-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(33));
1546-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(32, 33)));
1546+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(33));
1547+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(32, 33)));
15471548

1548-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(33));
1549-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(32, 33)));
1550-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(33, 33)));
1549+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(33));
1550+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(32, 33)));
1551+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(33, 33)));
15511552
EXPECT_EQ(APInt(32, (1 << 24)), APInt(32, 1).rotr(APInt(32, 40)));
15521553

15531554
EXPECT_EQ(APInt(32, (1 << 2)), APInt(32, 1).rotr(APInt(31, 30)));
15541555
EXPECT_EQ(APInt(32, (1 << 1)), APInt(32, 1).rotr(APInt(31, 31)));
15551556

15561557
EXPECT_EQ(APInt(32, 1), APInt(32, 1).rotr(APInt(1, 0)));
1557-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(1, 1)));
1558+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(1, 1)));
15581559

15591560
EXPECT_EQ(APInt(32, (1 << 28)), APInt(32, 1).rotr(APInt(3, 4)));
15601561

15611562
EXPECT_EQ(APInt(32, 1), APInt(32, 1).rotr(APInt(64, 64)));
1562-
EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(64, 65)));
1563+
EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(64, 65)));
15631564

15641565
EXPECT_EQ(APInt(7, 48), APInt(7, 3).rotr(APInt(7, 3)));
15651566
EXPECT_EQ(APInt(7, 48), APInt(7, 3).rotr(APInt(7, 10)));
@@ -1581,7 +1582,7 @@ TEST(APIntTest, Splat) {
15811582

15821583
APInt ValB(3, 5);
15831584
EXPECT_EQ(APInt(4, 0xD), APInt::getSplat(4, ValB));
1584-
EXPECT_EQ(APInt(15, 0xDB6D), APInt::getSplat(15, ValB));
1585+
EXPECT_EQ(APInt(15, 0x5B6D), APInt::getSplat(15, ValB));
15851586
}
15861587

15871588
TEST(APIntTest, tcDecrement) {
@@ -2858,7 +2859,7 @@ TEST(APIntTest, sext) {
28582859
EXPECT_EQ(31U, i32_min.countr_zero());
28592860
EXPECT_EQ(32U, i32_min.popcount());
28602861

2861-
APInt i32_neg1(APInt(32, ~uint64_t(0)).sext(63));
2862+
APInt i32_neg1(APInt(32, ~uint32_t(0)).sext(63));
28622863
EXPECT_EQ(i32_neg1, i32_neg1.sext(63));
28632864
EXPECT_EQ(63U, i32_neg1.countl_one());
28642865
EXPECT_EQ(0U, i32_neg1.countr_zero());
@@ -2991,7 +2992,7 @@ TEST(APIntTest, RoundingUDiv) {
29912992

29922993
TEST(APIntTest, RoundingSDiv) {
29932994
for (int64_t Ai = -128; Ai <= 127; Ai++) {
2994-
APInt A(8, Ai);
2995+
APInt A(8, Ai, true);
29952996

29962997
if (Ai != 0) {
29972998
APInt Zero(8, 0);
@@ -3004,7 +3005,7 @@ TEST(APIntTest, RoundingSDiv) {
30043005
if (Bi == 0)
30053006
continue;
30063007

3007-
APInt B(8, Bi);
3008+
APInt B(8, Bi, true);
30083009
APInt QuoTowardZero = A.sdiv(B);
30093010
{
30103011
APInt Quo = APIntOps::RoundingSDiv(A, B, APInt::Rounding::UP);
@@ -3063,10 +3064,10 @@ TEST(APIntTest, Average) {
30633064
APInt Ap100(32, +100);
30643065
APInt Ap101(32, +101);
30653066
APInt Ap200(32, +200);
3066-
APInt Am1(32, -1);
3067-
APInt Am100(32, -100);
3068-
APInt Am101(32, -101);
3069-
APInt Am200(32, -200);
3067+
APInt Am1(32, -1, true);
3068+
APInt Am100(32, -100, true);
3069+
APInt Am101(32, -101, true);
3070+
APInt Am200(32, -200, true);
30703071
APInt AmSMin = APInt::getSignedMinValue(32);
30713072
APInt ApSMax = APInt::getSignedMaxValue(32);
30723073

@@ -3076,7 +3077,7 @@ TEST(APIntTest, Average) {
30763077
EXPECT_EQ(APIntOps::RoundingSDiv(Ap100 + Ap200, A2, APInt::Rounding::UP),
30773078
APIntOps::avgCeilS(Ap100, Ap200));
30783079

3079-
EXPECT_EQ(APInt(32, -150), APIntOps::avgFloorS(Am100, Am200));
3080+
EXPECT_EQ(APInt(32, -150, true), APIntOps::avgFloorS(Am100, Am200));
30803081
EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am200, A2, APInt::Rounding::DOWN),
30813082
APIntOps::avgFloorS(Am100, Am200));
30823083
EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am200, A2, APInt::Rounding::UP),
@@ -3089,10 +3090,10 @@ TEST(APIntTest, Average) {
30893090
EXPECT_EQ(APIntOps::RoundingSDiv(Ap100 + Ap101, A2, APInt::Rounding::UP),
30903091
APIntOps::avgCeilS(Ap100, Ap101));
30913092

3092-
EXPECT_EQ(APInt(32, -101), APIntOps::avgFloorS(Am100, Am101));
3093+
EXPECT_EQ(APInt(32, -101, true), APIntOps::avgFloorS(Am100, Am101));
30933094
EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am101, A2, APInt::Rounding::DOWN),
30943095
APIntOps::avgFloorS(Am100, Am101));
3095-
EXPECT_EQ(APInt(32, -100), APIntOps::avgCeilS(Am100, Am101));
3096+
EXPECT_EQ(APInt(32, -100, true), APIntOps::avgCeilS(Am100, Am101));
30963097
EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am101, A2, APInt::Rounding::UP),
30973098
APIntOps::avgCeilS(Am100, Am101));
30983099

@@ -3304,7 +3305,8 @@ TEST(APIntTest, SolveQuadraticEquationWrap) {
33043305
for (int B = Low; B != High; ++B) {
33053306
for (int C = Low; C != High; ++C) {
33063307
std::optional<APInt> S = APIntOps::SolveQuadraticEquationWrap(
3307-
APInt(Width, A), APInt(Width, B), APInt(Width, C), Width);
3308+
APInt(Width, A, true), APInt(Width, B, true),
3309+
APInt(Width, C, true), Width);
33083310
if (S)
33093311
Validate(A, B, C, Width, S->getSExtValue());
33103312
}
@@ -3399,10 +3401,10 @@ TEST(APIntTest, GetMostSignificantDifferentBitExaustive) {
33993401
}
34003402

34013403
TEST(APIntTest, SignbitZeroChecks) {
3402-
EXPECT_TRUE(APInt(8, -1).isNegative());
3403-
EXPECT_FALSE(APInt(8, -1).isNonNegative());
3404-
EXPECT_FALSE(APInt(8, -1).isStrictlyPositive());
3405-
EXPECT_TRUE(APInt(8, -1).isNonPositive());
3404+
EXPECT_TRUE(APInt(8, -1, true).isNegative());
3405+
EXPECT_FALSE(APInt(8, -1, true).isNonNegative());
3406+
EXPECT_FALSE(APInt(8, -1, true).isStrictlyPositive());
3407+
EXPECT_TRUE(APInt(8, -1, true).isNonPositive());
34063408

34073409
EXPECT_FALSE(APInt(8, 0).isNegative());
34083410
EXPECT_TRUE(APInt(8, 0).isNonNegative());

llvm/unittests/ADT/APSIntTest.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,14 @@ TEST(APSIntTest, getExtValue) {
7474
EXPECT_TRUE(APSInt(APInt(3, 7), false).isSigned());
7575
EXPECT_TRUE(APSInt(APInt(4, 7), true).isUnsigned());
7676
EXPECT_TRUE(APSInt(APInt(4, 7), false).isSigned());
77-
EXPECT_TRUE(APSInt(APInt(4, -7), true).isUnsigned());
78-
EXPECT_TRUE(APSInt(APInt(4, -7), false).isSigned());
77+
EXPECT_TRUE(APSInt(APInt(4, -7, true), true).isUnsigned());
78+
EXPECT_TRUE(APSInt(APInt(4, -7, true), false).isSigned());
7979
EXPECT_EQ(7, APSInt(APInt(3, 7), true).getExtValue());
8080
EXPECT_EQ(-1, APSInt(APInt(3, 7), false).getExtValue());
8181
EXPECT_EQ(7, APSInt(APInt(4, 7), true).getExtValue());
8282
EXPECT_EQ(7, APSInt(APInt(4, 7), false).getExtValue());
83-
EXPECT_EQ(9, APSInt(APInt(4, -7), true).getExtValue());
84-
EXPECT_EQ(-7, APSInt(APInt(4, -7), false).getExtValue());
83+
EXPECT_EQ(9, APSInt(APInt(4, -7, true), true).getExtValue());
84+
EXPECT_EQ(-7, APSInt(APInt(4, -7, true), false).getExtValue());
8585
}
8686
TEST(APSIntTest, tryExtValue) {
8787
ASSERT_EQ(-7, APSInt(APInt(64, -7), false).tryExtValue().value_or(42));

0 commit comments

Comments
 (0)