[LLVMdev] Strange LLVM Crash

Dale Johannesen dalej at apple.com
Sat Mar 14 13:04:43 PDT 2009


Functions that have an entry in llvm.used should not be deleted.  Not  
entirely sure the JIT honors that but I think it does.

On Mar 14, 2009, at 10:46 AM, 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.
>
> 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.
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list