[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