[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns status

Jack Howarth howarth at bromo.med.uc.edu
Wed Jun 8 22:12:38 PDT 2011


  Current dragonegg svn has all of the -fplugin-arg-dragonegg-enable-gcc-optzns bugs for
usage with -ffast-math -O3 addressed except for those related to PR2314. Using the -fno-tree-vectorize
option, we can evaluate the current state of -fplugin-arg-dragonegg-enable-gcc-optzns with
the Polyhedron 2005 benchmarks compared to stock dragonegg and stock gcc 4.5.4. The runtime
benchmarks below show that we average slightly faster than stock gcc 4.5.4 and significantly
faster than stock dragonegg through the use of -fplugin-arg-dragonegg-enable-gcc-optzns.

x86_64 darwin 

A) gcc 4.5.4svn using -msse3 -ffast-math -O3 -fno-tree-vectorize 
B) gcc 4.5.4svn/dragonegg using -msse3 -ffast-math -O3 -fno-tree-vectorize -fplugin-arg-dragonegg-enable-gcc-optzns
C) gcc 4.5.4svn/dragonegg using -msse3 -ffast-math -O3 -fno-tree-vectorize


Benchmark     A) stock    B) gcc 4.5.4/    C) gcc 4.5.4/
              gcc 4.5.4   dragonegg/optzns    dragonegg

ac               9.58          9.13            12.30
aermod          20.88         16.10            17.62
air              6.16          6.59             7.70
capacita        35.68         39.94            46.22
channel          2.03          2.04             1.96
doduc           28.28         28.43            30.41
fatigue          8.13          7.19            10.40 
gas_dyn         10.10          9.83            11.73
induct          20.17         20.76            48.76
linpk           15.42         15.65            15.69
mdbx            11.42         11.73            12.07
nf              27.99         28.60            29.39
protein         38.36         39.08            39.98
rnflow          27.28         28.19            31.90
test_fpu        11.43         11.17            11.50
tfft             1.91          1.95             2.16 

Mean            12.72         12.62            14.71

Once vector_select() is implemented we can retest without -fno-tree-vectorize.




More information about the llvm-dev mailing list