[LLVMdev] -O4 limitations in llvm/llvm-gcc-4.2 2.5?

Nick Lewycky nicholas at mxc.ca
Sat Jan 24 17:43:34 PST 2009


Jack Howarth wrote:
>    I've had better luck compiling all of pymol 1.1r2 with
> -O4 on darwin9. Everythink links and there appears to be
> no regressions in the resulting code. I take it that LTO
> in llvm 2.5 is still limited to dead code elimination,
> correct?

No.

libLTO does the equivalent to opt -internalize -ipsccp -globalopt 
-constmerge -deadargelim -instcombine -inline -prune-eh -globaldce 
-argpromotion -instcombine -jump-threading -scalarrepl -globalsmodref-aa 
-licm -gvn -memcpyopt -dse -instcombine -jump-threading -mem2reg 
-simplifycfg -globaldce

  Will LTO ever be extended to inlining across
> files as well as constant-folding and global data
> allocation optimizations?

Our optimization passes know nothing of file boundaries. That includes 
the inliner, which blissfully inlines across file boundaries.

You can read a description of these passes in our documentation at 
http://llvm.org/docs/Passes.html . Ones that make particular use of 
whole program information include ipsccp, globalopt, deadargelim, 
inline, prune-eh, argpromotion and globaldce.

Nick

  Or does the reliance on gcc-4.2
> as the front end prevent those sort of things from being
> implemented outside of clang?
>             Jack
> ps Hopefully Snow Leopard will end up with llvm 2.5
> for its llvm-gcc.
> _______________________________________________
> 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