[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