[PATCH] D74300: [ORC] Add generic initializer/deinitializer support.

Stefan Gränitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 12 12:06:32 PST 2020


sgraenitz added a comment.

As expected this doesn't affect my code much so far. Only the symbol promotion changes in CompileOnDemandLayer (see inline comment). What do you think?



================
Comment at: llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp:170
+      else if (GV.hasLocalLinkage())
+        GV.setName("__orc_lcl." + GV.getName() + "." + Twine(++NextPromoId));
+      else
----------------
ThinLtoJIT's lookups in the global index are based on name and flags of a symbol and now uses the promoted ones. Probably, I can work around this, but I wonder if promotion and renaming is at all necessary for the whole module partitioning case. Shouldn't translation units stay intact then and linkage be fine as it is?


================
Comment at: llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp:91
   assert(O && "Object must not be null");
-
+  dbgs() << "Emitting via RTDyldObjectLinkingLayer:\n"
+         << R.getSymbols() << "\n";
----------------
`LLVM_DEBUG([...])`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74300/new/

https://reviews.llvm.org/D74300





More information about the llvm-commits mailing list