diff options
author | Pawel Bylica <chfast@gmail.com> | 2015-04-30 09:01:22 +0000 |
---|---|---|
committer | Pawel Bylica <chfast@gmail.com> | 2015-04-30 09:01:22 +0000 |
commit | 0c2ab37be653152ad658c57f340d2d668e758f16 (patch) | |
tree | df98667341f9431b07bde1a2c5e8dd0a509e9801 /llvm/unittests/IR/IRBuilderTest.cpp | |
parent | 232778a7a06a57709591eb28c6475026197b0d09 (diff) | |
download | bcm5719-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.cpp | 15 |
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); +} + } |