Are there any results for the SPEC2000 benchmarks using llvm with and without LTO? It would be interesting to know how the current LTO in llvm compares to the results being seen in current gcc trunk with their LTO... http://gcc.gnu.org/ml/gcc/2009-10/msg00155.html It would appear that the gcc LTO implementation is finally showing results (although with a lot of wrong code results). I assume we really don't have a functional -fwhole-program in llvm-gcc-4.2 but do we have one in clang? Jack
Hi Jack,> It would appear that the gcc LTO implementation > is finally showing results (although with a lot > of wrong code results). I assume we really don't > have a functional -fwhole-program in llvm-gcc-4.2 > but do we have one in clang?it's been possible to do the equivalent of -fwhole-program for ages in LLVM, you just have to run some LLVM tools by hand or use the gold plugin. I never did it on SPEC (I don't have SPEC) but for some scientific computation stuff I have here I saw a 10% speed up (more or less) using whole program lto. Ciao, Duncan.
I don't know of anyone focusing on better SPEC numbers, although those who have access run a subset primarily as a regression test. On Darwin, llvm-gcc-4.2 -O4 will get interprocedural optimizations; this makes the compiler emit LLVM bitcode and the linker invoke the interprocedural optimizer. You might need to have SnowLeopard. The linker dependency means this is not very portable; there is something called the LLVM gold plugin that is aimed at doing the same thing on Linux, but I don't know how well it works. On Oct 7, 2009, at 9:12 AMPDT, Jack Howarth wrote:> Are there any results for the SPEC2000 benchmarks > using llvm with and without LTO? It would be interesting > to know how the current LTO in llvm compares to the > results being seen in current gcc trunk with their > LTO... > > http://gcc.gnu.org/ml/gcc/2009-10/msg00155.html > > It would appear that the gcc LTO implementation > is finally showing results (although with a lot > of wrong code results). I assume we really don't > have a functional -fwhole-program in llvm-gcc-4.2 > but do we have one in clang? > Jack > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reasonably Related Threads
- [LLVMdev] [Clang] [lld] [llvm-link] Whole program / dead-code optimization
- [LLVM LTO]internalize pass
- [cfe-dev] RFC: A new ABI for virtual calls, and a change to the virtual call representation in the IR
- [LLVMdev] 254.gap SPEC2000
- [LLVM LTO]internalize pass