[LLVMdev] Strange LLVM Crash

Nyx mcheva at cs.mcgill.ca
Sat Mar 14 15:18:39 PDT 2009


The linkage type is set to external, I have little code snippet I use to
register those native functions in the first post of this topic. The global
DCE pass deletes the unused native functions when run. I commented it out
for now...


Nick Lewycky wrote:
> 
> Nyx wrote:
>> 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.
> 
> "externally visible" functions should never be deleted. What's the 
> linkage type on your functions? internal? Don't mark things internal 
> unless you don't mind if they go away. :)
> 
> Nick
> 
>> 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.
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> 

-- 
View this message in context: http://www.nabble.com/Strange-LLVM-Crash-tp22508882p22517815.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.




More information about the llvm-dev mailing list