diff options
Diffstat (limited to 'unittests/CodeGen/LowLevelTypeTest.cpp')
-rw-r--r-- | unittests/CodeGen/LowLevelTypeTest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/unittests/CodeGen/LowLevelTypeTest.cpp b/unittests/CodeGen/LowLevelTypeTest.cpp index 67113005a46a..428d6b93f790 100644 --- a/unittests/CodeGen/LowLevelTypeTest.cpp +++ b/unittests/CodeGen/LowLevelTypeTest.cpp @@ -171,6 +171,7 @@ TEST(LowLevelTypeTest, Pointer) { for (unsigned AS : {0U, 1U, 127U, 0xffffU}) { const LLT Ty = LLT::pointer(AS, DL.getPointerSizeInBits(AS)); + const LLT VTy = LLT::vector(4, Ty); // Test kind. ASSERT_TRUE(Ty.isValid()); @@ -179,16 +180,26 @@ TEST(LowLevelTypeTest, Pointer) { ASSERT_FALSE(Ty.isScalar()); ASSERT_FALSE(Ty.isVector()); + ASSERT_TRUE(VTy.isValid()); + ASSERT_TRUE(VTy.isVector()); + ASSERT_TRUE(VTy.getElementType().isPointer()); + // Test addressspace. EXPECT_EQ(AS, Ty.getAddressSpace()); + EXPECT_EQ(AS, VTy.getElementType().getAddressSpace()); // Test equality operators. EXPECT_TRUE(Ty == Ty); EXPECT_FALSE(Ty != Ty); + EXPECT_TRUE(VTy == VTy); + EXPECT_FALSE(VTy != VTy); // Test Type->LLT conversion. Type *IRTy = PointerType::get(IntegerType::get(C, 8), AS); EXPECT_EQ(Ty, getLLTForType(*IRTy, DL)); + Type *IRVTy = + VectorType::get(PointerType::get(IntegerType::get(C, 8), AS), 4); + EXPECT_EQ(VTy, getLLTForType(*IRVTy, DL)); } } |