summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/IR/IRBuilderTest.cpp
diff options
context:
space:
mode:
authorPawel Bylica <chfast@gmail.com>2015-04-30 09:01:22 +0000
committerPawel Bylica <chfast@gmail.com>2015-04-30 09:01:22 +0000
commit0c2ab37be653152ad658c57f340d2d668e758f16 (patch)
treedf98667341f9431b07bde1a2c5e8dd0a509e9801 /llvm/unittests/IR/IRBuilderTest.cpp
parent232778a7a06a57709591eb28c6475026197b0d09 (diff)
downloadbcm5719-llvm-0c2ab37be653152ad658c57f340d2d668e758f16.tar.gz
bcm5719-llvm-0c2ab37be653152ad658c57f340d2d668e758f16.zip
Add convenient overloads for CreateInsertElement and CreateExtractElement methods in IRBuilder
Summary: This pathc add convenient overloads for CreateInsertElement and CreateExtractElement methods in IRBuilder where vector index can be uint64_t instead of Value*. Test Plan: Unit test included. Reviewers: majnemer Reviewed By: majnemer Subscribers: majnemer, llvm-commits Differential Revision: http://reviews.llvm.org/D9347 llvm-svn: 236214
Diffstat (limited to 'llvm/unittests/IR/IRBuilderTest.cpp')
-rw-r--r--llvm/unittests/IR/IRBuilderTest.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/unittests/IR/IRBuilderTest.cpp b/llvm/unittests/IR/IRBuilderTest.cpp
index 9fe241c1a74..e8aaaea0775 100644
--- a/llvm/unittests/IR/IRBuilderTest.cpp
+++ b/llvm/unittests/IR/IRBuilderTest.cpp
@@ -306,5 +306,20 @@ TEST_F(IRBuilderTest, DIBuilder) {
EXPECT_TRUE(verifyModule(*M));
}
+TEST_F(IRBuilderTest, InsertExtractElement) {
+ IRBuilder<> Builder(BB);
+
+ auto VecTy = VectorType::get(Builder.getInt64Ty(), 4);
+ auto Elt1 = Builder.getInt64(-1);
+ auto Elt2 = Builder.getInt64(-2);
+ Value *Vec = UndefValue::get(VecTy);
+ Vec = Builder.CreateInsertElement(Vec, Elt1, Builder.getInt8(1));
+ Vec = Builder.CreateInsertElement(Vec, Elt2, 2);
+ auto X1 = Builder.CreateExtractElement(Vec, 1);
+ auto X2 = Builder.CreateExtractElement(Vec, Builder.getInt32(2));
+ EXPECT_EQ(Elt1, X1);
+ EXPECT_EQ(Elt2, X2);
+}
+
}
OpenPOWER on IntegriCloud