From: Andres Freund Date: Wed, 25 Jul 2018 15:04:57 +0000 (+0000) Subject: Move JIT listener C binding fallbackks to ExecutionEngineBindings.cpp. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a84cfbab1833d708729a575415c8467d7c90ed6;p=llvm 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337930 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ExecutionEngine/JITEventListener.h b/include/llvm/ExecutionEngine/JITEventListener.h index 195132aa227..1ce772ccde9 100644 --- a/include/llvm/ExecutionEngine/JITEventListener.h +++ b/include/llvm/ExecutionEngine/JITEventListener.h @@ -134,16 +134,4 @@ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(JITEventListener, LLVMJITEventListenerRef) } // 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 diff --git a/lib/ExecutionEngine/ExecutionEngineBindings.cpp b/lib/ExecutionEngine/ExecutionEngineBindings.cpp index 295476cb91a..abcdaeba8eb 100644 --- a/lib/ExecutionEngine/ExecutionEngineBindings.cpp +++ b/lib/ExecutionEngine/ExecutionEngineBindings.cpp @@ -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(LLVMMCJITMemoryManagerRef MM) { 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