diff options
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc')
4 files changed, 21 insertions, 42 deletions
diff --git a/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp index 3f7d530d57e..3d0ee365f1c 100644 --- a/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp @@ -288,16 +288,13 @@ TEST(ObjectTransformLayerTest, Main) { std::make_shared<NullResolver>()}; }); - auto IdentityTransform = - [](std::shared_ptr<llvm::object::OwningBinary<llvm::object::ObjectFile>> - Obj) { - return Obj; - }; + auto IdentityTransform = [](std::unique_ptr<llvm::MemoryBuffer> Obj) { + return Obj; + }; ObjectTransformLayer<decltype(BaseLayer), decltype(IdentityTransform)> TransformLayer(BaseLayer, IdentityTransform); auto NullCompiler = [](llvm::Module &) { - return llvm::object::OwningBinary<llvm::object::ObjectFile>(nullptr, - nullptr); + return std::unique_ptr<llvm::MemoryBuffer>(nullptr); }; IRCompileLayer<decltype(TransformLayer), decltype(NullCompiler)> CompileLayer(TransformLayer, NullCompiler); diff --git a/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp b/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp index d9448d47667..ca445b4d4e1 100644 --- a/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp @@ -38,13 +38,11 @@ protected: return MB.takeModule(); } - std::shared_ptr<object::OwningBinary<object::ObjectFile>> - createTestObject() { + std::unique_ptr<MemoryBuffer> createTestObject() { orc::SimpleCompiler IRCompiler(*TM); auto M = createTestModule(TM->getTargetTriple()); M->setDataLayout(TM->createDataLayout()); - return std::make_shared<object::OwningBinary<object::ObjectFile>>( - IRCompiler(*M)); + return IRCompiler(*M); } typedef int (*MainFnTy)(); @@ -148,12 +146,7 @@ TEST_F(OrcCAPIExecutionTest, TestAddObjectFile) { if (!TM) return; - std::unique_ptr<MemoryBuffer> ObjBuffer; - { - auto OwningObj = createTestObject(); - auto ObjAndBuffer = OwningObj->takeBinary(); - ObjBuffer = std::move(ObjAndBuffer.second); - } + auto ObjBuffer = createTestObject(); LLVMOrcJITStackRef JIT = LLVMOrcCreateInstance(wrap(TM.get())); diff --git a/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp index 740abedeed9..2156ae883a8 100644 --- a/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp @@ -95,14 +95,13 @@ TEST(RTDyldObjectLinkingLayerTest, TestSetProcessAllSections) { if (!TM) return; - auto Obj = - std::make_shared<object::OwningBinary<object::ObjectFile>>( - SimpleCompiler(*TM)(*M)); + auto Obj = SimpleCompiler(*TM)(*M); { // Test with ProcessAllSections = false (the default). auto K = ES.allocateVModule(); - cantFail(ObjLayer.addObject(K, Obj)); + cantFail(ObjLayer.addObject( + K, MemoryBuffer::getMemBufferCopy(Obj->getBuffer()))); cantFail(ObjLayer.emitAndFinalize(K)); EXPECT_EQ(DebugSectionSeen, false) << "Unexpected debug info section"; @@ -113,7 +112,7 @@ TEST(RTDyldObjectLinkingLayerTest, TestSetProcessAllSections) { // Test with ProcessAllSections = true. ObjLayer.setProcessAllSections(true); auto K = ES.allocateVModule(); - cantFail(ObjLayer.addObject(K, Obj)); + cantFail(ObjLayer.addObject(K, std::move(Obj))); cantFail(ObjLayer.emitAndFinalize(K)); EXPECT_EQ(DebugSectionSeen, true) << "Expected debug info section not seen"; @@ -164,9 +163,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) { Builder.CreateRet(FourtyTwo); } - auto Obj1 = - std::make_shared<object::OwningBinary<object::ObjectFile>>( - Compile(*MB1.getModule())); + auto Obj1 = Compile(*MB1.getModule()); ModuleBuilder MB2(Context, "", "dummy"); { @@ -177,9 +174,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) { IRBuilder<> Builder(FooEntry); Builder.CreateRet(Builder.CreateCall(BarDecl)); } - auto Obj2 = - std::make_shared<object::OwningBinary<object::ObjectFile>>( - Compile(*MB2.getModule())); + auto Obj2 = Compile(*MB2.getModule()); auto K1 = ES.allocateVModule(); Resolvers[K1] = std::make_shared<NullResolver>(); @@ -249,9 +244,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) { Builder.CreateRet(FourtyTwo); } - auto Obj1 = - std::make_shared<object::OwningBinary<object::ObjectFile>>( - Compile(*MB1.getModule())); + auto Obj1 = Compile(*MB1.getModule()); ModuleBuilder MB2(Context, "", "dummy"); { @@ -263,9 +256,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) { Value *Seven = ConstantInt::getSigned(Int32Ty, 7); Builder.CreateRet(Seven); } - auto Obj2 = - std::make_shared<object::OwningBinary<object::ObjectFile>>( - Compile(*MB2.getModule())); + auto Obj2 = Compile(*MB2.getModule()); auto K = ES.allocateVModule(); cantFail(ObjLayer.addObject(K, std::move(Obj1))); @@ -288,7 +279,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, TestNotifyLoadedSignature) { return RTDyldObjectLinkingLayer::Resources{ nullptr, std::make_shared<NullResolver>()}; }, - [](VModuleKey, const RTDyldObjectLinkingLayer::ObjectPtr &obj, + [](VModuleKey, const object::ObjectFile &obj, const RuntimeDyld::LoadedObjectInfo &info) {}); } diff --git a/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp index d24aafed9b0..ae408a06f84 100644 --- a/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp @@ -24,8 +24,7 @@ public: using ObjHandleT = uint64_t; - using ObjectPtr = - std::shared_ptr<object::OwningBinary<object::ObjectFile>>; + using ObjectPtr = std::unique_ptr<MemoryBuffer>; using LookupFn = std::function<JITSymbol(StringRef, bool)>; using SymbolLookupTable = std::map<ObjHandleT, LookupFn>; @@ -43,7 +42,7 @@ public: Expected<ObjHandleT> addObject(ObjectPtr Obj, std::shared_ptr<JITSymbolResolver> Resolver) { - return AddObject(Obj, SymTab); + return AddObject(std::move(Obj), SymTab); } Error removeObject(ObjHandleT H) { @@ -102,8 +101,7 @@ MockObjectLayer::ObjectPtr createTestObject() { B.CreateRet(ConstantInt::getSigned(Type::getInt32Ty(Ctx), 42)); SimpleCompiler IRCompiler(*TM); - return std::make_shared<object::OwningBinary<object::ObjectFile>>( - IRCompiler(*MB.getModule())); + return IRCompiler(*MB.getModule()); } TEST(RemoteObjectLayer, AddObject) { @@ -121,7 +119,7 @@ TEST(RemoteObjectLayer, AddObject) { // Copy the bytes out of the test object: the copy will be used to verify // that the original is correctly transmitted over RPC to the mock layer. - StringRef ObjBytes = TestObject->getBinary()->getData(); + StringRef ObjBytes = TestObject->getBuffer(); std::vector<char> ObjContents(ObjBytes.size()); std::copy(ObjBytes.begin(), ObjBytes.end(), ObjContents.begin()); @@ -134,7 +132,7 @@ TEST(RemoteObjectLayer, AddObject) { MockObjectLayer::SymbolLookupTable &SymTab) { // Check that the received object file content matches the original. - StringRef RPCObjContents = Obj->getBinary()->getData(); + StringRef RPCObjContents = Obj->getBuffer(); EXPECT_EQ(RPCObjContents.size(), ObjContents.size()) << "RPC'd object file has incorrect size"; EXPECT_TRUE(std::equal(RPCObjContents.begin(), RPCObjContents.end(), |