diff options
| author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2012-10-31 09:50:01 +0000 |
|---|---|---|
| committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2012-10-31 09:50:01 +0000 |
| commit | ef94169938c94fbe521f783de776390cf9cd17d8 (patch) | |
| tree | b030c5038e8aa295fbc07433635d93a6e859b2e8 | |
| parent | 24c643b6dea6811563c371fd1a8601380cafa257 (diff) | |
| download | bcm5719-llvm-ef94169938c94fbe521f783de776390cf9cd17d8.tar.gz bcm5719-llvm-ef94169938c94fbe521f783de776390cf9cd17d8.zip | |
Add IRBuilderBase::getIntPtrTy.
llvm-svn: 167111
| -rw-r--r-- | llvm/include/llvm/IRBuilder.h | 5 | ||||
| -rw-r--r-- | llvm/unittests/VMCore/IRBuilderTest.cpp | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/llvm/include/llvm/IRBuilder.h b/llvm/include/llvm/IRBuilder.h index 46720983e4f..f63a16051e3 100644 --- a/llvm/include/llvm/IRBuilder.h +++ b/llvm/include/llvm/IRBuilder.h @@ -17,6 +17,7 @@ #include "llvm/Instructions.h" #include "llvm/BasicBlock.h" +#include "llvm/DataLayout.h" #include "llvm/LLVMContext.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/StringRef.h" @@ -266,6 +267,10 @@ public: return Type::getInt8PtrTy(Context, AddrSpace); } + IntegerType* getIntPtrTy(DataLayout *DL, unsigned AddrSpace = 0) { + return DL->getIntPtrType(Context, AddrSpace); + } + //===--------------------------------------------------------------------===// // Intrinsic creation methods //===--------------------------------------------------------------------===// diff --git a/llvm/unittests/VMCore/IRBuilderTest.cpp b/llvm/unittests/VMCore/IRBuilderTest.cpp index b6a3795fd0f..9f26936df47 100644 --- a/llvm/unittests/VMCore/IRBuilderTest.cpp +++ b/llvm/unittests/VMCore/IRBuilderTest.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "llvm/BasicBlock.h" +#include "llvm/DataLayout.h" #include "llvm/Function.h" #include "llvm/IRBuilder.h" #include "llvm/IntrinsicInst.h" @@ -96,4 +97,15 @@ TEST_F(IRBuilderTest, CreateCondBr) { EXPECT_EQ(Weights, TI->getMetadata(LLVMContext::MD_prof)); } +TEST_F(IRBuilderTest, GetIntTy) { + IRBuilder<> Builder(BB); + IntegerType *Ty1 = Builder.getInt1Ty(); + EXPECT_EQ(Ty1, IntegerType::get(getGlobalContext(), 1)); + + DataLayout* DL = new DataLayout(M.get()); + IntegerType *IntPtrTy = Builder.getIntPtrTy(DL); + unsigned IntPtrBitSize = DL->getPointerSizeInBits(0); + EXPECT_EQ(IntPtrTy, IntegerType::get(getGlobalContext(), IntPtrBitSize)); +} + } |

