------- Comment #39 from jv244 at cam dot ac dot uk 2009-11-27 08:52 ------- I've rerun the initial (non-reduced) testcase at -O0, and I'm getting now more reasonable memory usage (2.5Gb), and all time is now in 'expand'. 'expand' is now about 3 times slower than 1year ago, but this is with checking enabled so I don't know if this is relevant:
Execution times (seconds) garbage collection : 2.22 ( 0%) usr 0.00 ( 0%) sys 2.22 ( 0%) wall 0 kB ( 0%) ggc callgraph construction: 0.22 ( 0%) usr 0.02 ( 0%) sys 0.28 ( 0%) wall 12487 kB ( 2%) ggc callgraph optimization: 0.23 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall 4370 kB ( 1%) ggc cfg cleanup : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc CFG verifier : 3.33 ( 0%) usr 0.01 ( 0%) sys 3.36 ( 0%) wall 0 kB ( 0%) ggc trivially dead code : 0.92 ( 0%) usr 0.00 ( 0%) sys 0.91 ( 0%) wall 0 kB ( 0%) ggc df live regs : 0.62 ( 0%) usr 0.00 ( 0%) sys 0.64 ( 0%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 1.33 ( 0%) usr 0.02 ( 0%) sys 1.31 ( 0%) wall 19416 kB ( 3%) ggc register information : 0.63 ( 0%) usr 0.01 ( 0%) sys 0.64 ( 0%) wall 0 kB ( 0%) ggc alias analysis : 0.58 ( 0%) usr 0.01 ( 0%) sys 0.59 ( 0%) wall 8335 kB ( 1%) ggc rebuild jump labels : 0.65 ( 0%) usr 0.00 ( 0%) sys 0.65 ( 0%) wall 0 kB ( 0%) ggc parser : 4.96 ( 1%) usr 0.09 ( 2%) sys 5.06 ( 1%) wall 50732 kB ( 9%) ggc inline heuristics : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc tree gimplify : 0.72 ( 0%) usr 0.01 ( 0%) sys 0.69 ( 0%) wall 13184 kB ( 2%) ggc tree eh : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree CFG construction : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 172 kB ( 0%) ggc tree find ref. vars : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 3263 kB ( 1%) ggc tree SSA rewrite : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 46 kB ( 0%) ggc tree SSA other : 0.02 ( 0%) usr 0.02 ( 0%) sys 0.04 ( 0%) wall 18 kB ( 0%) ggc tree operand scan : 0.06 ( 0%) usr 0.02 ( 0%) sys 0.07 ( 0%) wall 118 kB ( 0%) ggc tree SSA verifier : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc tree STMT verifier : 1.49 ( 0%) usr 0.03 ( 1%) sys 1.53 ( 0%) wall 0 kB ( 0%) ggc callgraph verifier : 1.22 ( 0%) usr 0.00 ( 0%) sys 1.25 ( 0%) wall 0 kB ( 0%) ggc expand : 737.90 (94%) usr 3.54 (79%) sys 741.44 (94%) wall 309551 kB (55%) ggc integrated RA : 18.91 ( 2%) usr 0.28 ( 6%) sys 19.24 ( 2%) wall 8696 kB ( 2%) ggc reload : 8.08 ( 1%) usr 0.26 ( 6%) sys 8.33 ( 1%) wall 123546 kB (22%) ggc thread pro- & epilogue: 0.80 ( 0%) usr 0.00 ( 0%) sys 0.81 ( 0%) wall 239 kB ( 0%) ggc final : 3.13 ( 0%) usr 0.15 ( 3%) sys 3.30 ( 0%) wall 533 kB ( 0%) ggc symout : 0.08 ( 0%) usr 0.02 ( 0%) sys 0.08 ( 0%) wall 4818 kB ( 1%) ggc TOTAL : 788.49 4.49 792.98 559736 kB Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. COLLECT_GCC_OPTIONS='-ffree-line-length-512' '-g' '-ffree-form' '-ftime-report' '-c' '-O0' '-ffree-line-length-512' '-v' '-mtune=generic' as -V -Qy -o PR38582.o /tmp/ccfulxg5.s -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474