From c40ce0da7189bd2ada15725a79525da13a67f3e4 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Tue, 1 Sep 2020 20:00:21 -0700 Subject: [PATCH] [ORC] Add an early out for MachOPlatform's init-scraper plugin setup. If there's no initializer symbol in the current MaterializationResponsibility then bail out without installing JITLink passes: they're going to be no-ops anyway. --- llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp b/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp index 9ad2577..098e870 100644 --- a/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp +++ b/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp @@ -299,6 +299,9 @@ void MachOPlatform::InitScraperPlugin::modifyPassConfig( MaterializationResponsibility &MR, const Triple &TT, jitlink::PassConfiguration &Config) { + if (!MR.getInitializerSymbol()) + return; + Config.PrePrunePasses.push_back([this, &MR](jitlink::LinkGraph &G) -> Error { JITLinkSymbolVector InitSectionSymbols; preserveInitSectionIfPresent(InitSectionSymbols, G, "__mod_init_func"); -- 2.7.4