http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45422
--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-25 09:02:57 UTC --- IMHO for P1 purposes we should just look at compile time regressions from 4.5 here at this point. On the #c1 testcase I get with --enable-checking=release current trunk and current 4.5 branch on x86_64-linux: 4.6 x86_64 -m64 -O3 -fbounds-check -ftime-report df live regs : 1.87 ( 3%) usr 0.02 ( 1%) sys 1.66 ( 3%) wall 0 kB ( 0%) ggc parser : 1.04 ( 2%) usr 0.20 ( 9%) sys 1.24 ( 2%) wall 53425 kB ( 6%) ggc tree VRP : 1.82 ( 3%) usr 0.09 ( 4%) sys 2.02 ( 3%) wall 63870 kB ( 8%) ggc tree PTA : 1.02 ( 2%) usr 0.01 ( 0%) sys 0.98 ( 2%) wall 5498 kB ( 1%) ggc tree SSA incremental : 1.23 ( 2%) usr 0.12 ( 6%) sys 1.11 ( 2%) wall 6733 kB ( 1%) ggc tree CCP : 1.33 ( 2%) usr 0.03 ( 1%) sys 1.33 ( 2%) wall 4989 kB ( 1%) ggc complete unrolling : 1.07 ( 2%) usr 0.16 ( 8%) sys 1.28 ( 2%) wall 88755 kB (11%) ggc tree iv optimization : 10.99 (19%) usr 0.09 ( 4%) sys 11.09 (19%) wall 138994 kB (16%) ggc CSE : 1.28 ( 2%) usr 0.01 ( 0%) sys 1.28 ( 2%) wall 229 kB ( 0%) ggc combiner : 2.00 ( 3%) usr 0.00 ( 0%) sys 1.95 ( 3%) wall 31554 kB ( 4%) ggc integrated RA : 3.68 ( 6%) usr 0.01 ( 0%) sys 3.78 ( 6%) wall 19906 kB ( 2%) ggc reload : 2.04 ( 4%) usr 0.00 ( 0%) sys 2.18 ( 4%) wall 7106 kB ( 1%) ggc reload CSE regs : 2.04 ( 4%) usr 0.02 ( 1%) sys 2.01 ( 3%) wall 12188 kB ( 1%) ggc scheduling 2 : 2.55 ( 4%) usr 0.01 ( 0%) sys 2.61 ( 4%) wall 895 kB ( 0%) ggc TOTAL : 57.47 2.11 59.60 845009 kB 4.5 x86_64 -m64 -O3 -fbounds-check -ftime-report df live regs : 1.58 ( 4%) usr 0.00 ( 0%) sys 1.39 ( 3%) wall 0 kB ( 0%) ggc parser : 1.02 ( 2%) usr 0.18 ( 9%) sys 1.21 ( 3%) wall 55472 kB ( 7%) ggc tree VRP : 1.39 ( 3%) usr 0.13 ( 6%) sys 1.73 ( 4%) wall 56478 kB ( 8%) ggc tree PRE : 1.03 ( 2%) usr 0.04 ( 2%) sys 1.24 ( 3%) wall 7286 kB ( 1%) ggc complete unrolling : 1.32 ( 3%) usr 0.21 (10%) sys 1.55 ( 3%) wall 91137 kB (12%) ggc tree iv optimization : 5.45 (12%) usr 0.09 ( 4%) sys 5.43 (12%) wall 95576 kB (13%) ggc expand : 2.62 ( 6%) usr 0.16 ( 8%) sys 2.76 ( 6%) wall 58104 kB ( 8%) ggc CSE : 1.18 ( 3%) usr 0.01 ( 0%) sys 0.94 ( 2%) wall 261 kB ( 0%) ggc combiner : 1.53 ( 3%) usr 0.00 ( 0%) sys 1.48 ( 3%) wall 19953 kB ( 3%) ggc integrated RA : 3.21 ( 7%) usr 0.00 ( 0%) sys 3.55 ( 8%) wall 11410 kB ( 2%) ggc reload : 2.13 ( 5%) usr 0.04 ( 2%) sys 2.00 ( 4%) wall 7273 kB ( 1%) ggc reload CSE regs : 1.67 ( 4%) usr 0.01 ( 0%) sys 1.55 ( 3%) wall 10032 kB ( 1%) ggc scheduling 2 : 2.65 ( 6%) usr 0.02 ( 1%) sys 2.66 ( 6%) wall 1063 kB ( 0%) ggc TOTAL : 44.55 2.05 46.62 747832 kB 4.6 x86_64 -m32 -O3 -fbounds-check -ftime-report df live regs : 1.24 ( 2%) usr 0.02 ( 1%) sys 1.05 ( 2%) wall 0 kB ( 0%) ggc parser : 1.05 ( 2%) usr 0.18 ( 9%) sys 1.23 ( 2%) wall 53861 kB ( 7%) ggc tree VRP : 1.48 ( 3%) usr 0.05 ( 2%) sys 1.78 ( 3%) wall 52970 kB ( 7%) ggc tree iv optimization : 9.92 (19%) usr 0.15 ( 7%) sys 9.98 (18%) wall 125735 kB (17%) ggc CSE : 1.46 ( 3%) usr 0.00 ( 0%) sys 1.42 ( 3%) wall 329 kB ( 0%) ggc combiner : 1.41 ( 3%) usr 0.01 ( 0%) sys 1.35 ( 2%) wall 20981 kB ( 3%) ggc integrated RA : 2.89 ( 6%) usr 0.00 ( 0%) sys 2.83 ( 5%) wall 14083 kB ( 2%) ggc reload : 2.59 ( 5%) usr 0.02 ( 1%) sys 2.58 ( 5%) wall 18918 kB ( 3%) ggc reload CSE regs : 2.62 ( 5%) usr 0.00 ( 0%) sys 2.91 ( 5%) wall 13557 kB ( 2%) ggc scheduling 2 : 2.49 ( 5%) usr 0.01 ( 0%) sys 2.45 ( 5%) wall 953 kB ( 0%) ggc TOTAL : 52.36 2.02 54.39 744417 kB 4.5 x86_64 -m32 -O3 -fbounds-check -ftime-report df live regs : 1.41 ( 3%) usr 0.02 ( 1%) sys 1.43 ( 3%) wall 0 kB ( 0%) ggc parser : 1.02 ( 2%) usr 0.18 ( 9%) sys 1.19 ( 2%) wall 55913 kB ( 8%) ggc tree VRP : 1.44 ( 3%) usr 0.14 ( 7%) sys 1.39 ( 3%) wall 54451 kB ( 8%) ggc tree iv optimization : 7.76 (17%) usr 0.11 ( 5%) sys 8.02 (17%) wall 107362 kB (15%) ggc expand : 2.66 ( 6%) usr 0.08 ( 4%) sys 2.73 ( 6%) wall 56088 kB ( 8%) ggc CSE : 1.41 ( 3%) usr 0.00 ( 0%) sys 1.31 ( 3%) wall 480 kB ( 0%) ggc integrated RA : 2.88 ( 6%) usr 0.00 ( 0%) sys 2.78 ( 6%) wall 9890 kB ( 1%) ggc reload : 2.71 ( 6%) usr 0.05 ( 2%) sys 2.68 ( 6%) wall 20135 kB ( 3%) ggc reload CSE regs : 1.98 ( 4%) usr 0.00 ( 0%) sys 2.00 ( 4%) wall 13166 kB ( 2%) ggc scheduling 2 : 2.67 ( 6%) usr 0.04 ( 2%) sys 2.77 ( 6%) wall 840 kB ( 0%) ggc TOTAL : 46.38 2.08 48.48 708175 kB (listing only lines with >= 1sec times). For x86_64 -m32 it doesn't seem to be a big deal and even the 4.6 numbers are nowhere the claimed 3x increase, it is a 30% slowdown and only half of the slowdown can be actually attributed to ivopts. On the #c5 testcase ivopts still takes > 50% of the reported time though. To me this sounds P2ish, but I'll let Richard chime in...