[LLVMdev] Strange LLVM Crash
Nyx
mcheva at cs.mcgill.ca
Sat Mar 14 10:46:07 PDT 2009
Ok, well, I seem to have pinpointed the cause of the problem more accurately.
I'm running some optimization passes on my module after I compile each
function in my scripting language (functions can be compiled at various
times, when scripts are loaded). Now it seems these optimization passes will
prune some of the native C++ functions I'm registering in my module (the
functions that haven't been called/used yet). I'd like to find a way to
disable this so that all the native functions I register will stay in the
module.
Here are the optimization passes I'm running:
passManager.add(new llvm::TargetData(s_pModule));
passManager.add(llvm::createLowerSetJmpPass());
passManager.add(llvm::createRaiseAllocationsPass());
passManager.add(llvm::createCFGSimplificationPass());
passManager.add(llvm::createPromoteMemoryToRegisterPass());
passManager.add(llvm::createGlobalOptimizerPass());
passManager.add(llvm::createGlobalDCEPass());
passManager.add(llvm::createFunctionInliningPass());
I would like to know either which pass does this (global optimizer maybe?)
so I can disable it, or what flag I can set on my C++ function objects to
keep them from being pruned out.
--
View this message in context: http://www.nabble.com/Strange-LLVM-Crash-tp22508882p22515204.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.
More information about the llvm-dev
mailing list