I'm not certain yet which commit in the last couple of days caused this,
but the current llvm/dragonegg svn shows a major improvement in the runtime
of the xplor-nih testsuite when xplor-nih is built with FSF gcc 4.6.1 and the
dragonegg plugin at -O3 -ffast-math -funroll-loops. Previously the xplor-nih
testsuite always executed in ~40 sec but now it is coming it at 34.5 sec which
is about the same result seen for xplor-nih built with native FSF gcc 4.6.1.
It will be interesting to find out if the Polyhedron 2005 benchmarks shows this
behavior as well. Nice.
Jack
Seems very likely to be related to Andy's SCEV-unroll-loops changes.
--Owen
Try -mllvm -disable-unroll-scev if you're curious.
There can be some luck involved. If you have the bitcode for the important function, I may be able to convert it into a test case to avoid regressing. I usually grab the unoptimized bitcode as follows: -emit-llvm -mllvm -disable-llvm-optzns -o module.bc
-Andy
Hi Andrew,
Try -mllvm -disable-unroll-scev if you're curious.
unfortunately I never got round to implementing -mllvm for dragonegg.
There can be some luck involved. If you have the bitcode for the important function, I may be able to convert it into a test case to avoid regressing. I usually grab the unoptimized bitcode as follows: -emit-llvm -mllvm -disable-llvm-optzns -o module.bc
For dragonegg that would be:
-S -flto -fplugin-arg-dragonegg-llvm-ir-optimize=0 -o module.ll
Ciao, Duncan.