http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59802
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |compile-time-hog Status|UNCONFIRMED |NEW Last reconfirmed| |2014-01-14 Component|c |rtl-optimization Summary|excessive compile time in |excessive compile time in |loop unswitching |RTL optimizers (loop | |unswitching, CPROP) Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- GCC 4.8 shows CPROP : 45.00 (57%) usr 0.02 ( 4%) sys 45.01 (57%) wall 4016 kB ( 2%) ggc TOTAL : 78.48 0.57 79.04 213705 kB while GCC 4.9 has loop invariant motion : 10.11 (11%) usr 0.01 ( 2%) sys 10.16 (11%) wall 2 kB ( 0%) ggc loop unswitching : 9.81 (11%) usr 0.00 ( 0%) sys 9.83 (11%) wall 1 kB ( 0%) ggc CPROP : 48.16 (54%) usr 0.04 ( 7%) sys 48.20 (54%) wall 4444 kB ( 2%) ggc so I can't really confirm the unswitching slowness (this is r205857 which is somewhat older than your test). Generally I think we should probably consider removing RTL unswitching, there is not a single loop unswitched by RTL for this testcase.