Jack Howarth
2011-Apr-15 01:04 UTC
[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns impact
Now that dragoneegg is robust in its default usage and the dragonegg svn is moderately stable with -fplugin-arg-dragonegg-enable-gcc-optzns, it is possible to gauge the impact of that feature. Comparing clang 2.9, FSF gcc 4.5.3svn, FSF gcc 4.6.0 and dragonegg svn with FSF gcc 4.5.3svn using the himenoBMTxpa benchmark, the enhancement to code performance from -fplugin-arg-dragonegg-enable-gcc-optzns is clear on x86_64-apple-darwin10 for -fomit-frame-pointer -O3 -ffast-math -funroll-loops... compiler MFLOPS clang 2.9 230.529385 gcc 4.5.3 246.064891 de-gcc 4.5.3 204.845864 de-gcc 4.5.3 optzns 259.672855 gcc 4.6.0 260.344783 Pretty impressive. Jack
Duncan Sands
2011-Apr-15 06:53 UTC
[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns impact
Hi Jack,> Now that dragoneegg is robust in its default usage and the dragonegg svn > is moderately stable with -fplugin-arg-dragonegg-enable-gcc-optzns, it is > possible to gauge the impact of that feature. Comparing clang 2.9, FSF gcc 4.5.3svn, > FSF gcc 4.6.0 and dragonegg svn with FSF gcc 4.5.3svn using the himenoBMTxpa benchmark, > the enhancement to code performance from -fplugin-arg-dragonegg-enable-gcc-optzns is > clear on x86_64-apple-darwin10 for -fomit-frame-pointer -O3 -ffast-math -funroll-loops... > > compiler MFLOPS > clang 2.9 230.529385 > gcc 4.5.3 246.064891 > de-gcc 4.5.3 204.845864 > de-gcc 4.5.3 optzns 259.672855 > gcc 4.6.0 260.344783 > > Pretty impressive.interesting results. It needs some analysis to work out where the extra juice is coming from though, in particular to distinguish between effects coming from LLVM's IR level optimizations and those coming from its code generators. Ciao, Duncan.
Jack Howarth
2011-Apr-15 13:57 UTC
[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns impact
On Fri, Apr 15, 2011 at 08:53:19AM +0200, Duncan Sands wrote:> Hi Jack, > > > Now that dragoneegg is robust in its default usage and the dragonegg svn > > is moderately stable with -fplugin-arg-dragonegg-enable-gcc-optzns, it is > > possible to gauge the impact of that feature. Comparing clang 2.9, FSF gcc 4.5.3svn, > > FSF gcc 4.6.0 and dragonegg svn with FSF gcc 4.5.3svn using the himenoBMTxpa benchmark, > > the enhancement to code performance from -fplugin-arg-dragonegg-enable-gcc-optzns is > > clear on x86_64-apple-darwin10 for -fomit-frame-pointer -O3 -ffast-math -funroll-loops... > > > > compiler MFLOPS > > clang 2.9 230.529385 > > gcc 4.5.3 246.064891 > > de-gcc 4.5.3 204.845864 > > de-gcc 4.5.3 optzns 259.672855 > > gcc 4.6.0 260.344783 > > > > Pretty impressive. > > interesting results. It needs some analysis to work out where the extra juice > is coming from though, in particular to distinguish between effects coming from > LLVM's IR level optimizations and those coming from its code generators.Duncan, This gets even more interesting. de-gcc45 -fomit-frame-pointer -O3 205.738266 de-gcc45 -fomit-frame-pointer -O3 -fplugin-arg-dragonegg-enable-gcc-optzns 267.066124 de-gcc45 -fomit-frame-pointer -O2 206.015974 de-gcc45 -fomit-frame-pointer -O2 -fplugin-arg-dragonegg-enable-gcc-optzns 276.676232 gcc-fsf-4.5 -fomit-frame-pointer -O2 239.868551 gcc-fsf-4.6 -fomit-frame-pointer -O2 248.147753 llvm-clang -fomit-frame-pointer -O2 226.756189 So the enhancement from -fplugin-arg-dragonegg-enable-gcc-optzns doesn't appear due to optimizations added between -O2 and -O3. It also is interesting that -O2 outperforms -O3 with -fplugin-arg-dragonegg-enable-gcc-optzns. I assume that the llvm and FSF gcc optimizations must be at cross purposes somewhere there. Jack> > Ciao, Duncan. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Maybe Matching Threads
- [LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns impact
- [LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns impact
- [LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns status
- [LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns status
- [LLVMdev] Get "invalid option '-fplugin-arg-dragonegg-disable-llvm-optzns'" while making llvm test-suite