diff options
Diffstat (limited to 'polly/unittests/Isl/IslTest.cpp')
-rw-r--r-- | polly/unittests/Isl/IslTest.cpp | 56 |
1 files changed, 52 insertions, 4 deletions
diff --git a/polly/unittests/Isl/IslTest.cpp b/polly/unittests/Isl/IslTest.cpp index 6b3fc03c96b..5dccaba051c 100644 --- a/polly/unittests/Isl/IslTest.cpp +++ b/polly/unittests/Isl/IslTest.cpp @@ -20,6 +20,43 @@ TEST(Isl, APIntToIslVal) { isl_ctx *IslCtx = isl_ctx_alloc(); { + APInt APZero(1, 0, true); + auto *IslZero = isl_valFromAPInt(IslCtx, APZero, true); + EXPECT_EQ(isl_bool_true, isl_val_is_zero(IslZero)); + isl_val_free(IslZero); + } + + { + APInt APNOne(1, -1, true); + auto *IslNOne = isl_valFromAPInt(IslCtx, APNOne, true); + EXPECT_EQ(isl_bool_true, isl_val_is_negone(IslNOne)); + isl_val_free(IslNOne); + } + + { + APInt APZero(1, 0, false); + auto *IslZero = isl_valFromAPInt(IslCtx, APZero, false); + EXPECT_EQ(isl_bool_true, isl_val_is_zero(IslZero)); + isl_val_free(IslZero); + } + + { + APInt APOne(1, 1, false); + auto *IslOne = isl_valFromAPInt(IslCtx, APOne, false); + EXPECT_EQ(isl_bool_true, isl_val_is_one(IslOne)); + isl_val_free(IslOne); + } + + { + APInt APNTwo(2, -2, true); + auto *IslNTwo = isl_valFromAPInt(IslCtx, APNTwo, true); + auto *IslNTwoCmp = isl_val_int_from_si(IslCtx, -2); + EXPECT_EQ(isl_bool_true, isl_val_eq(IslNTwo, IslNTwoCmp)); + isl_val_free(IslNTwo); + isl_val_free(IslNTwoCmp); + } + + { APInt APNOne(32, -1, true); auto *IslNOne = isl_valFromAPInt(IslCtx, APNOne, true); EXPECT_EQ(isl_bool_true, isl_val_is_negone(IslNOne)); @@ -29,21 +66,21 @@ TEST(Isl, APIntToIslVal) { { APInt APZero(32, 0, false); auto *IslZero = isl_valFromAPInt(IslCtx, APZero, false); - EXPECT_EQ(isl_val_is_zero(IslZero), isl_bool_true); + EXPECT_EQ(isl_bool_true, isl_val_is_zero(IslZero)); isl_val_free(IslZero); } { APInt APOne(32, 1, false); auto *IslOne = isl_valFromAPInt(IslCtx, APOne, false); - EXPECT_EQ(isl_val_is_one(IslOne), isl_bool_true); + EXPECT_EQ(isl_bool_true, isl_val_is_one(IslOne)); isl_val_free(IslOne); } { APInt APTwo(32, 2, false); auto *IslTwo = isl_valFromAPInt(IslCtx, APTwo, false); - EXPECT_EQ(isl_val_cmp_si(IslTwo, 2), 0); + EXPECT_EQ(0, isl_val_cmp_si(IslTwo, 2)); isl_val_free(IslTwo); } @@ -51,11 +88,22 @@ TEST(Isl, APIntToIslVal) { APInt APNOne(32, (1ull << 32) - 1, false); auto *IslNOne = isl_valFromAPInt(IslCtx, APNOne, false); auto *IslRef = isl_val_int_from_ui(IslCtx, (1ull << 32) - 1); - EXPECT_EQ(isl_val_eq(IslNOne, IslRef), isl_bool_true); + EXPECT_EQ(isl_bool_true, isl_val_eq(IslNOne, IslRef)); isl_val_free(IslNOne); isl_val_free(IslRef); } + { + APInt APLarge(130, 2, false); + APLarge = APLarge.shl(70); + auto *IslLarge = isl_valFromAPInt(IslCtx, APLarge, false); + auto *IslRef = isl_val_int_from_ui(IslCtx, 71); + IslRef = isl_val_2exp(IslRef); + EXPECT_EQ(isl_bool_true, isl_val_eq(IslLarge, IslRef)); + isl_val_free(IslLarge); + isl_val_free(IslRef); + } + isl_ctx_free(IslCtx); } |