With current trunk, the attached testcase (~15Klines) takes about 15min to compile (& 2.3Gb). To reproduce
gfortran -ffree-line-length-512 -g -c testcase.f90 The issue seems the clear from the timing report: Execution times (seconds) garbage collection : 1.37 ( 0%) usr 0.00 ( 0%) sys 1.37 ( 0%) wall 0 kB ( 0%) ggc callgraph construction: 0.14 ( 0%) usr 0.01 ( 0%) sys 0.15 ( 0%) wall 12498 kB ( 2%) ggc callgraph optimization: 202.27 (24%) usr 1.57 (21%) sys 204.09 (24%) wall 2304 kB ( 0%) ggc cfg cleanup : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc CFG verifier : 1.32 ( 0%) usr 0.01 ( 0%) sys 1.32 ( 0%) wall 0 kB ( 0%) ggc trivially dead code : 0.52 ( 0%) usr 0.00 ( 0%) sys 0.52 ( 0%) wall 0 kB ( 0%) ggc df live regs : 0.30 ( 0%) usr 0.00 ( 0%) sys 0.30 ( 0%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 0.63 ( 0%) usr 0.01 ( 0%) sys 0.64 ( 0%) wall 25889 kB ( 4%) ggc register information : 0.33 ( 0%) usr 0.01 ( 0%) sys 0.35 ( 0%) wall 0 kB ( 0%) ggc alias analysis : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.30 ( 0%) wall 8335 kB ( 1%) ggc rebuild jump labels : 0.34 ( 0%) usr 0.00 ( 0%) sys 0.33 ( 0%) wall 0 kB ( 0%) ggc parser : 5.26 ( 1%) usr 0.10 ( 1%) sys 5.37 ( 1%) wall 59009 kB ( 9%) ggc inline heuristics : 402.30 (48%) usr 3.15 (42%) sys 406.73 (48%) wall 0 kB ( 0%) ggc tree gimplify : 0.21 ( 0%) usr 0.01 ( 0%) sys 0.21 ( 0%) wall 16835 kB ( 2%) ggc tree eh : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree CFG construction : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 180 kB ( 0%) ggc tree CFG cleanup : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree find ref. vars : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 7875 kB ( 1%) ggc tree SSA other : 0.03 ( 0%) usr 0.01 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc tree operand scan : 0.03 ( 0%) usr 0.02 ( 0%) sys 0.05 ( 0%) wall 236 kB ( 0%) ggc tree SSA to normal : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree SSA verifier : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree STMT verifier : 0.57 ( 0%) usr 0.06 ( 1%) sys 0.64 ( 0%) wall 0 kB ( 0%) ggc callgraph verifier : 0.24 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%) wall 0 kB ( 0%) ggc expand : 207.53 (25%) usr 2.16 (29%) sys 210.04 (25%) wall 366504 kB (54%) ggc integrated RA : 11.67 ( 1%) usr 0.15 ( 2%) sys 11.84 ( 1%) wall 8700 kB ( 1%) ggc reload : 5.34 ( 1%) usr 0.20 ( 3%) sys 5.53 ( 1%) wall 163863 kB (24%) ggc thread pro- & epilogue: 0.50 ( 0%) usr 0.00 ( 0%) sys 0.49 ( 0%) wall 174 kB ( 0%) ggc final : 1.86 ( 0%) usr 0.10 ( 1%) sys 1.99 ( 0%) wall 7380 kB ( 1%) ggc symout : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 4777 kB ( 1%) ggc TOTAL : 843.24 7.57 852.70 684846 kB -- Summary: slow compilation at -O0 (callgraph optimization, inline heuristics, ggc expand ) Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: compile-time-hog Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474