Skip to content

Commit 28e2a89

Browse files
committed
Revert "[ORC][JITLink] Add jitlink::Scope::SideEffectsOnly, use it in ORC Platforms."
This reverts commit aba6bb0 while I investigate bot failures (e.g. https://lab.llvm.org/buildbot/#/builders/143/builds/3848)
1 parent aba6bb0 commit 28e2a89

File tree

5 files changed

+11
-14
lines changed

5 files changed

+11
-14
lines changed

llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,13 +393,10 @@ const char *getLinkageName(Linkage L);
393393
/// Defines the scope in which this symbol should be visible:
394394
/// Default -- Visible in the public interface of the linkage unit.
395395
/// Hidden -- Visible within the linkage unit, but not exported from it.
396-
/// SideEffectsOnly -- Like hidden, but symbol can only be looked up once
397-
/// to trigger materialization of the containing graph.
398396
/// Local -- Visible only within the LinkGraph.
399397
enum class Scope : uint8_t {
400398
Default,
401399
Hidden,
402-
SideEffectsOnly,
403400
Local
404401
};
405402

llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class COFFHeaderMaterializationUnit : public MaterializationUnit {
7676
// Init symbol is __ImageBase symbol.
7777
auto &ImageBaseSymbol = G->addDefinedSymbol(
7878
HeaderBlock, 0, *R->getInitializerSymbol(), HeaderBlock.getSize(),
79-
jitlink::Linkage::Strong, jitlink::Scope::SideEffectsOnly, false, true);
79+
jitlink::Linkage::Strong, jitlink::Scope::Default, false, true);
8080

8181
addImageBaseRelocationEdge(HeaderBlock, ImageBaseSymbol);
8282

llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ class DSOHandleMaterializationUnit : public MaterializationUnit {
197197
8, 0);
198198
auto &DSOHandleSymbol = G->addDefinedSymbol(
199199
DSOHandleBlock, 0, *R->getInitializerSymbol(), DSOHandleBlock.getSize(),
200-
jitlink::Linkage::Strong, jitlink::Scope::SideEffectsOnly, false, true);
200+
jitlink::Linkage::Strong, jitlink::Scope::Default, false, true);
201201
DSOHandleBlock.addEdge(EdgeKind, 0, DSOHandleSymbol, 0);
202202

203203
ENP.getObjectLinkingLayer().emit(std::move(R), std::move(G));

llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,9 +1001,9 @@ Error MachOPlatform::MachOPlatformPlugin::preserveImportantSections(
10011001
// to the first block.
10021002
if (!InitSym) {
10031003
auto &B = **InitSection->blocks().begin();
1004-
InitSym = &G.addDefinedSymbol(
1005-
B, 0, *InitSymName, B.getSize(), jitlink::Linkage::Strong,
1006-
jitlink::Scope::SideEffectsOnly, false, true);
1004+
InitSym = &G.addDefinedSymbol(B, 0, *InitSymName, B.getSize(),
1005+
jitlink::Linkage::Strong,
1006+
jitlink::Scope::Default, false, true);
10071007
}
10081008

10091009
// Add keep-alive edges to anonymous symbols in all other init blocks.

llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ JITSymbolFlags getJITSymbolFlagsForSymbol(Symbol &Sym) {
6565

6666
if (Sym.getScope() == Scope::Default)
6767
Flags |= JITSymbolFlags::Exported;
68-
else if (Sym.getScope() == Scope::SideEffectsOnly)
69-
Flags |= JITSymbolFlags::MaterializationSideEffectsOnly;
7068

7169
if (Sym.isCallable())
7270
Flags |= JITSymbolFlags::Callable;
@@ -238,7 +236,7 @@ class ObjectLinkingLayerJITLinkContext final : public JITLinkContext {
238236

239237
SymbolMap InternedResult;
240238
for (auto *Sym : G.defined_symbols())
241-
if (Sym->getScope() < Scope::SideEffectsOnly) {
239+
if (Sym->getScope() != Scope::Local) {
242240
auto InternedName = ES.intern(Sym->getName());
243241
auto Ptr = getJITSymbolPtrForSymbol(*Sym, G.getTargetTriple());
244242
auto Flags = getJITSymbolFlagsForSymbol(*Sym);
@@ -251,7 +249,7 @@ class ObjectLinkingLayerJITLinkContext final : public JITLinkContext {
251249
}
252250

253251
for (auto *Sym : G.absolute_symbols())
254-
if (Sym->getScope() < Scope::SideEffectsOnly) {
252+
if (Sym->getScope() != Scope::Local) {
255253
auto InternedName = ES.intern(Sym->getName());
256254
auto Ptr = getJITSymbolPtrForSymbol(*Sym, G.getTargetTriple());
257255
auto Flags = getJITSymbolFlagsForSymbol(*Sym);
@@ -283,9 +281,11 @@ class ObjectLinkingLayerJITLinkContext final : public JITLinkContext {
283281
// If this is a materialization-side-effects only symbol then bump
284282
// the counter and remove in from the result, otherwise make sure that
285283
// it's defined.
286-
if (Flags.hasMaterializationSideEffectsOnly())
284+
if (Flags.hasMaterializationSideEffectsOnly()) {
287285
++NumMaterializationSideEffectsOnlySymbols;
288-
else if (I == InternedResult.end())
286+
InternedResult.erase(Sym);
287+
continue;
288+
} else if (I == InternedResult.end())
289289
MissingSymbols.push_back(Sym);
290290
else if (Layer.OverrideObjectFlags)
291291
I->second.setFlags(Flags);

0 commit comments

Comments
 (0)