[llvm-dev] LLVMAddGlobalMapping after optimization
Henning Thielemann via llvm-dev
llvm-dev at lists.llvm.org
Tue Aug 30 01:21:18 PDT 2016
I use MCJIT on LLVM-3.8 and use LLVMAddGlobalMapping to register call-back
functions. LLVMAddGlobalMapping needs a LLVMValueRef to a function call
value. However, is this still valid after optimization? I always suspected
that this is not true, but it worked in many occasions anyway. Now, I
think I hit a case where it fails.
I do roughly this:
...
funcRef = LLVMAddFunction(module, funcName, funcType);
...
LLVMRunPassManager(passes, module);
...
LLVMCreateExecutionEngineForModule(&ee, module, &err);
...
// Is funcRef still valid here?
LLVMAddGlobalMapping(ee, funcRef, &myFunc);
...
Is this admissible? If not (what I assume), how can I manage call-backs in
an optimization-proof way?
More information about the llvm-dev
mailing list