[llvm] r337930 - Move JIT listener C binding fallbackks to ExecutionEngineBindings.cpp.

Andres Freund via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 25 08:04:57 PDT 2018


Author: anarazel
Date: Wed Jul 25 08:04:57 2018
New Revision: 337930

URL: http://llvm.org/viewvc/llvm-project?rev=337930&view=rev
Log:
Move JIT listener C binding fallbackks to ExecutionEngineBindings.cpp.

Initially, in https://reviews.llvm.org/D44890, I had these defined as
empty functions inside the header when the respective event listener
was not built in. As done in that commit, that wasn't correct, because
it was a ODR violation.  Krasimir hot-fixed that in r333265, but that
wasn't quite right either, because it'd lead to the symbol not being
available.

Instead just move the fallbacksto ExecutionEngineBindings.cpp. Could
define them as static inlines in the header too, but I don't think it
matters.

Reviewers: whitequark

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D49654

Modified:
    llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h
    llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp

Modified: llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h?rev=337930&r1=337929&r2=337930&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h (original)
+++ llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h Wed Jul 25 08:04:57 2018
@@ -134,16 +134,4 @@ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(JITEv
 
 } // end namespace llvm
 
-#ifndef LLVM_USE_INTEL_JITEVENTS
-LLVMJITEventListenerRef LLVMCreateIntelJITEventListener(void);
-#endif
-
-#ifndef LLVM_USE_OPROFILE
-LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener(void);
-#endif
-
-#ifndef LLVM_USE_PERF
-LLVMJITEventListenerRef LLVMCreatePerfJITEventListener(void);
-#endif
-
 #endif // LLVM_EXECUTIONENGINE_JITEVENTLISTENER_H

Modified: llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp?rev=337930&r1=337929&r2=337930&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp Wed Jul 25 08:04:57 2018
@@ -14,6 +14,7 @@
 #include "llvm-c/ExecutionEngine.h"
 #include "llvm/ExecutionEngine/ExecutionEngine.h"
 #include "llvm/ExecutionEngine/GenericValue.h"
+#include "llvm/ExecutionEngine/JITEventListener.h"
 #include "llvm/ExecutionEngine/RTDyldMemoryManager.h"
 #include "llvm/IR/DerivedTypes.h"
 #include "llvm/IR/Module.h"
@@ -411,3 +412,26 @@ void LLVMDisposeMCJITMemoryManager(LLVMM
   delete unwrap(MM);
 }
 
+/*===-- JIT Event Listener functions -------------------------------------===*/
+
+
+#if !LLVM_USE_INTEL_JITEVENTS
+LLVMJITEventListenerRef LLVMCreateIntelJITEventListener(void)
+{
+  return nullptr;
+}
+#endif
+
+#if !LLVM_USE_OPROFILE
+LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener(void)
+{
+  return nullptr;
+}
+#endif
+
+#if !LLVM_USE_PERF
+LLVMJITEventListenerRef LLVMCreatePerfJITEventListener(void)
+{
+  return nullptr;
+}
+#endif




More information about the llvm-commits mailing list