[PATCH] D126214: Register profiling support for OrcJit in lli

Frank Tetzel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 23 09:04:52 PDT 2022


tetzank created this revision.
Herald added a project: All.
tetzank requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The registration of the event listeners was just missing for OrcJit,
only enabled for MCJit.

Fixes #55528


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D126214

Files:
  llvm/tools/lli/lli.cpp


Index: llvm/tools/lli/lli.cpp
===================================================================
--- llvm/tools/lli/lli.cpp
+++ llvm/tools/lli/lli.cpp
@@ -944,9 +944,22 @@
   auto J = ExitOnErr(Builder.create());
 
   auto *ObjLayer = &J->getObjLinkingLayer();
-  if (auto *RTDyldObjLayer = dyn_cast<orc::RTDyldObjectLinkingLayer>(ObjLayer))
+  if (auto *RTDyldObjLayer = dyn_cast<orc::RTDyldObjectLinkingLayer>(ObjLayer)) {
     RTDyldObjLayer->registerJITEventListener(
         *JITEventListener::createGDBRegistrationListener());
+#if LLVM_USE_OPROFILE
+    RTDyldObjLayer->registerJITEventListener(
+        *JITEventListener::createOProfileJITEventListener());
+#endif
+#if LLVM_USE_INTEL_JITEVENTS
+    RTDyldObjLayer->registerJITEventListener(
+        *JITEventListener::createIntelJITEventListener());
+#endif
+#if LLVM_USE_PERF
+    RTDyldObjLayer->registerJITEventListener(
+        *JITEventListener::createPerfJITEventListener());
+#endif
+  }
 
   if (PerModuleLazy)
     J->setPartitionFunction(orc::CompileOnDemandLayer::compileWholeModule);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126214.431395.patch
Type: text/x-patch
Size: 1060 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220523/6a4e9bda/attachment.bin>


More information about the llvm-commits mailing list