Skip to content

Commit b18e5b6

Browse files
committed
Re-apply "[ORC] Remove the Triple argument from LLJITBuilder::..." with fixes.
This re-applies f905bf3, which was reverted in c861c1a due to compiler errors, with a fix for MLIR.
1 parent 038fff3 commit b18e5b6

File tree

8 files changed

+15
-21
lines changed

8 files changed

+15
-21
lines changed

llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
4545
LLJITBuilder()
4646
.setJITTargetMachineBuilder(std::move(JTMB))
4747
.setObjectLinkingLayerCreator(
48-
[&](ExecutionSession &ES, const Triple &TT) {
48+
[&](ExecutionSession &ES) {
4949
return std::make_unique<ObjectLinkingLayer>(
5050
ES, ExitOnErr(jitlink::InProcessMemoryManager::Create()));
5151
})

llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ int main(int argc, char *argv[]) {
6262
auto J =
6363
ExitOnErr(LLJITBuilder()
6464
.setJITTargetMachineBuilder(std::move(JTMB))
65-
.setObjectLinkingLayerCreator([&](ExecutionSession &ES,
66-
const Triple &TT) {
65+
.setObjectLinkingLayerCreator([&](ExecutionSession &ES) {
6766
auto GetMemMgr = []() {
6867
return std::make_unique<SectionMemoryManager>();
6968
};

llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ int main(int argc, char *argv[]) {
207207
LLJITBuilder()
208208
.setJITTargetMachineBuilder(std::move(JTMB))
209209
.setObjectLinkingLayerCreator(
210-
[&](ExecutionSession &ES, const Triple &TT) {
210+
[&](ExecutionSession &ES) {
211211
// Create ObjectLinkingLayer.
212212
auto ObjLinkingLayer = std::make_unique<ObjectLinkingLayer>(
213213
ES, ExitOnErr(jitlink::InProcessMemoryManager::Create()));

llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,7 @@ class LLLazyJIT : public LLJIT {
299299
class LLJITBuilderState {
300300
public:
301301
using ObjectLinkingLayerCreator =
302-
std::function<Expected<std::unique_ptr<ObjectLayer>>(ExecutionSession &,
303-
const Triple &)>;
302+
std::function<Expected<std::unique_ptr<ObjectLayer>>(ExecutionSession &)>;
304303

305304
using CompileFunctionCreator =
306305
std::function<Expected<std::unique_ptr<IRCompileLayer::IRCompiler>>(

llvm/lib/ExecutionEngine/Orc/LLJIT.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -832,8 +832,7 @@ Error LLJITBuilderState::prepareForConstruction() {
832832
JTMB->setCodeModel(CodeModel::Small);
833833
JTMB->setRelocationModel(Reloc::PIC_);
834834
CreateObjectLinkingLayer =
835-
[](ExecutionSession &ES,
836-
const Triple &) -> Expected<std::unique_ptr<ObjectLayer>> {
835+
[](ExecutionSession &ES) -> Expected<std::unique_ptr<ObjectLayer>> {
837836
return std::make_unique<ObjectLinkingLayer>(ES);
838837
};
839838
}
@@ -951,7 +950,7 @@ LLJIT::createObjectLinkingLayer(LLJITBuilderState &S, ExecutionSession &ES) {
951950

952951
// If the config state provided an ObjectLinkingLayer factory then use it.
953952
if (S.CreateObjectLinkingLayer)
954-
return S.CreateObjectLinkingLayer(ES, S.JTMB->getTargetTriple());
953+
return S.CreateObjectLinkingLayer(ES);
955954

956955
// Otherwise default to creating an RTDyldObjectLinkingLayer that constructs
957956
// a new SectionMemoryManager for each object.

llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp

+5-6
Original file line numberDiff line numberDiff line change
@@ -911,12 +911,11 @@ void LLVMOrcLLJITBuilderSetJITTargetMachineBuilder(
911911
void LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(
912912
LLVMOrcLLJITBuilderRef Builder,
913913
LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction F, void *Ctx) {
914-
unwrap(Builder)->setObjectLinkingLayerCreator(
915-
[=](ExecutionSession &ES, const Triple &TT) {
916-
auto TTStr = TT.str();
917-
return std::unique_ptr<ObjectLayer>(
918-
unwrap(F(Ctx, wrap(&ES), TTStr.c_str())));
919-
});
914+
unwrap(Builder)->setObjectLinkingLayerCreator([=](ExecutionSession &ES) {
915+
auto TTStr = ES.getTargetTriple().str();
916+
return std::unique_ptr<ObjectLayer>(
917+
unwrap(F(Ctx, wrap(&ES), TTStr.c_str())));
918+
});
920919
}
921920

922921
LLVMErrorRef LLVMOrcCreateLLJIT(LLVMOrcLLJITRef *Result,

llvm/tools/lli/lli.cpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -1031,10 +1031,9 @@ int runOrcJIT(const char *ProgName) {
10311031
Builder.getJITTargetMachineBuilder()
10321032
->setRelocationModel(Reloc::PIC_)
10331033
.setCodeModel(CodeModel::Small);
1034-
Builder.setObjectLinkingLayerCreator(
1035-
[&](orc::ExecutionSession &ES, const Triple &TT) {
1036-
return std::make_unique<orc::ObjectLinkingLayer>(ES);
1037-
});
1034+
Builder.setObjectLinkingLayerCreator([&](orc::ExecutionSession &ES) {
1035+
return std::make_unique<orc::ObjectLinkingLayer>(ES);
1036+
});
10381037
}
10391038

10401039
auto J = ExitOnErr(Builder.create());

mlir/lib/ExecutionEngine/ExecutionEngine.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,7 @@ ExecutionEngine::create(Operation *m, const ExecutionEngineOptions &options,
313313

314314
// Callback to create the object layer with symbol resolution to current
315315
// process and dynamically linked libraries.
316-
auto objectLinkingLayerCreator = [&](ExecutionSession &session,
317-
const Triple &tt) {
316+
auto objectLinkingLayerCreator = [&](ExecutionSession &session) {
318317
auto objectLayer = std::make_unique<RTDyldObjectLinkingLayer>(
319318
session, [sectionMemoryMapper = options.sectionMemoryMapper]() {
320319
return std::make_unique<SectionMemoryManager>(sectionMemoryMapper);

0 commit comments

Comments
 (0)