diff options
| author | James Y Knight <jyknight@google.com> | 2019-01-13 16:09:28 +0000 |
|---|---|---|
| committer | James Y Knight <jyknight@google.com> | 2019-01-13 16:09:28 +0000 |
| commit | c0044118c8ec4889ff1490179d5d70549cb7621c (patch) | |
| tree | 603011e7fc7b0e9f30d4446f96262726a0addb37 /llvm/unittests/ExecutionEngine/Orc | |
| parent | 06e3950561a5cd59b1295ed66071c8a53af8067a (diff) | |
| download | bcm5719-llvm-c0044118c8ec4889ff1490179d5d70549cb7621c.tar.gz bcm5719-llvm-c0044118c8ec4889ff1490179d5d70549cb7621c.zip | |
Remove TypeBuilder.h, and fix the few locations using it.
This shortcut mechanism for creating types was added 10 years ago, but
has seen almost no uptake since then, neither internally nor in
external projects.
The very small number of characters saved by using it does not seem
worth the mental overhead of an additional type-creation API, so,
delete it.
Differential Revision: https://reviews.llvm.org/D56573
llvm-svn: 351020
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc')
6 files changed, 50 insertions, 30 deletions
diff --git a/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp b/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp index ed425449784..1dfa0a1d492 100644 --- a/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp @@ -19,7 +19,10 @@ namespace { TEST(IndirectionUtilsTest, MakeStub) { LLVMContext Context; ModuleBuilder MB(Context, "x86_64-apple-macosx10.10", ""); - Function *F = MB.createFunctionDecl<void(DummyStruct, DummyStruct)>(""); + FunctionType *FTy = FunctionType::get( + Type::getVoidTy(Context), + {getDummyStructTy(Context), getDummyStructTy(Context)}, false); + Function *F = MB.createFunctionDecl(FTy, ""); AttributeSet FnAttrs = AttributeSet::get( Context, AttrBuilder().addAttribute(Attribute::NoUnwind)); AttributeSet RetAttrs; // None diff --git a/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp index 8c9c958cc42..b3696c6ca4a 100644 --- a/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp @@ -123,6 +123,8 @@ TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) { if (!SupportsJIT) return; + Type *Int32Ty = IntegerType::get(Context, 32); + ExecutionSession ES; auto MM = std::make_shared<SectionMemoryManagerWrapper>(); @@ -153,7 +155,8 @@ TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) { ModuleBuilder MB1(Context, "", "dummy"); { MB1.getModule()->setDataLayout(TM->createDataLayout()); - Function *BarImpl = MB1.createFunctionDecl<int32_t(void)>("bar"); + Function *BarImpl = + MB1.createFunctionDecl(FunctionType::get(Int32Ty, {}, false), "bar"); BasicBlock *BarEntry = BasicBlock::Create(Context, "entry", BarImpl); IRBuilder<> Builder(BarEntry); IntegerType *Int32Ty = IntegerType::get(Context, 32); @@ -166,8 +169,10 @@ TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) { ModuleBuilder MB2(Context, "", "dummy"); { MB2.getModule()->setDataLayout(TM->createDataLayout()); - Function *BarDecl = MB2.createFunctionDecl<int32_t(void)>("bar"); - Function *FooImpl = MB2.createFunctionDecl<int32_t(void)>("foo"); + Function *BarDecl = + MB2.createFunctionDecl(FunctionType::get(Int32Ty, {}, false), "bar"); + Function *FooImpl = + MB2.createFunctionDecl(FunctionType::get(Int32Ty, {}, false), "foo"); BasicBlock *FooEntry = BasicBlock::Create(Context, "entry", FooImpl); IRBuilder<> Builder(FooEntry); Builder.CreateRet(Builder.CreateCall(BarDecl)); @@ -207,6 +212,8 @@ TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) { if (!SupportsJIT) return; + Type *Int32Ty = IntegerType::get(Context, 32); + ExecutionSession ES; auto MM = std::make_shared<SectionMemoryManagerWrapper>(); @@ -233,7 +240,8 @@ TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) { ModuleBuilder MB1(Context, "", "dummy"); { MB1.getModule()->setDataLayout(TM->createDataLayout()); - Function *BarImpl = MB1.createFunctionDecl<int32_t(void)>("foo"); + Function *BarImpl = + MB1.createFunctionDecl(FunctionType::get(Int32Ty, {}, false), "foo"); BasicBlock *BarEntry = BasicBlock::Create(Context, "entry", BarImpl); IRBuilder<> Builder(BarEntry); IntegerType *Int32Ty = IntegerType::get(Context, 32); @@ -246,7 +254,8 @@ TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) { ModuleBuilder MB2(Context, "", "dummy"); { MB2.getModule()->setDataLayout(TM->createDataLayout()); - Function *BarImpl = MB2.createFunctionDecl<int32_t(void)>("bar"); + Function *BarImpl = + MB2.createFunctionDecl(FunctionType::get(Int32Ty, {}, false), "bar"); BasicBlock *BarEntry = BasicBlock::Create(Context, "entry", BarImpl); IRBuilder<> Builder(BarEntry); IntegerType *Int32Ty = IntegerType::get(Context, 32); diff --git a/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp b/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp index b288b6bab2c..54d81569626 100644 --- a/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp @@ -27,8 +27,15 @@ class OrcCAPIExecutionTest : public testing::Test, public OrcExecutionTest { protected: std::unique_ptr<Module> createTestModule(const Triple &TT) { ModuleBuilder MB(Context, TT.str(), ""); - Function *TestFunc = MB.createFunctionDecl<int()>("testFunc"); - Function *Main = MB.createFunctionDecl<int(int, char*[])>("main"); + Type *IntTy = Type::getScalarTy<int>(Context); + Function *TestFunc = + MB.createFunctionDecl(FunctionType::get(IntTy, {}, false), "testFunc"); + Function *Main = MB.createFunctionDecl( + FunctionType::get( + IntTy, + {IntTy, Type::getInt8PtrTy(Context)->getPointerTo()}, + false), + "main"); Main->getBasicBlockList().push_back(BasicBlock::Create(Context)); IRBuilder<> B(&Main->back()); diff --git a/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h b/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h index e76d2fae5e3..e25c513d947 100644 --- a/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h +++ b/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h @@ -22,7 +22,6 @@ #include "llvm/IR/IRBuilder.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" -#include "llvm/IR/TypeBuilder.h" #include "llvm/Object/ObjectFile.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Support/TargetSelect.h" @@ -169,11 +168,8 @@ public: ModuleBuilder(LLVMContext &Context, StringRef Triple, StringRef Name); - template <typename FuncType> - Function* createFunctionDecl(StringRef Name) { - return Function::Create( - TypeBuilder<FuncType, false>::get(M->getContext()), - GlobalValue::ExternalLinkage, Name, M.get()); + Function *createFunctionDecl(FunctionType *FTy, StringRef Name) { + return Function::Create(FTy, GlobalValue::ExternalLinkage, Name, M.get()); } Module* getModule() { return M.get(); } @@ -189,15 +185,9 @@ struct DummyStruct { int X[256]; }; -// TypeBuilder specialization for DummyStruct. -template <bool XCompile> -class TypeBuilder<DummyStruct, XCompile> { -public: - static StructType *get(LLVMContext &Context) { - return StructType::get( - TypeBuilder<types::i<32>[256], XCompile>::get(Context)); - } -}; +inline StructType *getDummyStructTy(LLVMContext &Context) { + return StructType::get(ArrayType::get(Type::getInt32Ty(Context), 256)); +} template <typename HandleT, typename ModuleT> class MockBaseLayer { diff --git a/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp index 6b1dbe93d5e..2db237f9a33 100644 --- a/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp @@ -131,13 +131,17 @@ TEST(RTDyldObjectLinkingLayerTest, TestOverrideObjectFlags) { ModuleBuilder MB(*TSCtx.getContext(), TM->getTargetTriple().str(), "dummy"); MB.getModule()->setDataLayout(TM->createDataLayout()); - Function *FooImpl = MB.createFunctionDecl<void()>("foo"); + Function *FooImpl = MB.createFunctionDecl( + FunctionType::get(Type::getVoidTy(*TSCtx.getContext()), {}, false), + "foo"); BasicBlock *FooEntry = BasicBlock::Create(*TSCtx.getContext(), "entry", FooImpl); IRBuilder<> B1(FooEntry); B1.CreateRetVoid(); - Function *BarImpl = MB.createFunctionDecl<void()>("bar"); + Function *BarImpl = MB.createFunctionDecl( + FunctionType::get(Type::getVoidTy(*TSCtx.getContext()), {}, false), + "bar"); BasicBlock *BarEntry = BasicBlock::Create(*TSCtx.getContext(), "entry", BarImpl); IRBuilder<> B2(BarEntry); @@ -181,9 +185,9 @@ TEST(RTDyldObjectLinkingLayerTest, TestAutoClaimResponsibilityForSymbols) { FunkySimpleCompiler(TargetMachine &TM) : SimpleCompiler(TM) {} CompileResult operator()(Module &M) { - Function *BarImpl = - Function::Create(TypeBuilder<void(), false>::get(M.getContext()), - GlobalValue::ExternalLinkage, "bar", &M); + Function *BarImpl = Function::Create( + FunctionType::get(Type::getVoidTy(M.getContext()), {}, false), + GlobalValue::ExternalLinkage, "bar", &M); BasicBlock *BarEntry = BasicBlock::Create(M.getContext(), "entry", BarImpl); IRBuilder<> B(BarEntry); @@ -200,7 +204,9 @@ TEST(RTDyldObjectLinkingLayerTest, TestAutoClaimResponsibilityForSymbols) { ModuleBuilder MB(*TSCtx.getContext(), TM->getTargetTriple().str(), "dummy"); MB.getModule()->setDataLayout(TM->createDataLayout()); - Function *FooImpl = MB.createFunctionDecl<void()>("foo"); + Function *FooImpl = MB.createFunctionDecl( + FunctionType::get(Type::getVoidTy(*TSCtx.getContext()), {}, false), + "foo"); BasicBlock *FooEntry = BasicBlock::Create(*TSCtx.getContext(), "entry", FooImpl); IRBuilder<> B(FooEntry); diff --git a/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp index 09224c289b4..4ffd7416a4a 100644 --- a/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp @@ -95,7 +95,12 @@ MockObjectLayer::ObjectPtr createTestObject() { LLVMContext Ctx; ModuleBuilder MB(Ctx, TM->getTargetTriple().str(), "TestModule"); MB.getModule()->setDataLayout(TM->createDataLayout()); - auto *Main = MB.createFunctionDecl<void(int, char**)>("main"); + auto *Main = MB.createFunctionDecl( + FunctionType::get(Type::getInt32Ty(Ctx), + {Type::getInt32Ty(Ctx), + Type::getInt8PtrTy(Ctx)->getPointerTo()}, + false), + "main"); Main->getBasicBlockList().push_back(BasicBlock::Create(Ctx)); IRBuilder<> B(&Main->back()); B.CreateRet(ConstantInt::getSigned(Type::getInt32Ty(Ctx), 42)); |

