------- Comment #3 from rguenth at gcc dot gnu dot org  2008-05-19 09:42 -------
This testcase has 1025 loops we create pre-headers for.  We insert tons of
asserts for non-NULL pointers due to dereferences (>3074) which all cause
new PHI nodes to be registered during insertion (and nearly the whole program
is rewritten).  But most of the time/memory is probably spent within SCEV
analysis (indeed, starting with 4.3 we reset the SCEV cache on each
invocation of adjust_range_with_scev).

>From detailed mem-report we see that also reassociation is causing quite some
garbage:

tree-phinodes.c:155 (allocate_phi_node)            11491552: 0.5%          0:
0.0%          0: 0.0%     454880: 0.4%      29364
fold-const.c:6254 (extract_muldiv_1)               35618816: 1.7%          0:
0.0%          0: 0.0%          0: 0.0%     556544
fold-const.c:2516 (fold_convert)                   36274032: 1.7%          0:
0.0%          0: 0.0%    4030448: 4.0%     503806
fold-const.c:7473 (fold_plusminus_mult_expr)       45185024: 2.1%          0:
0.0%          0: 0.0%          0: 0.0%     706016
fold-const.c:1592 (associate_trees)               131797504: 6.2%          0:
0.0%          0: 0.0%          0: 0.0%    2059336
fold-const.c:9743 (fold_binary)                   131862976: 6.2%          0:
0.0%          0: 0.0%          0: 0.0%    2060359
tree-chrec.h:149 (build_polynomial_chrec)         183160824: 8.6%          0:
0.0%          0: 0.0%   16650984:16.4%    2081373
tree-chrec.h:149 (build_polynomial_chrec)         198801152: 9.3%          0:
0.0%          0: 0.0%   18072832:17.8%    2259104
fold-const.c:1453 (negate_expr)                   445240224:20.9%          0:
0.0%          0: 0.0%   49471136:48.6%    6183892
tree-chrec.c:325 (chrec_fold_plus_1)              782040448:36.7%          0:
0.0%          0: 0.0%          0: 0.0%   12219382
Total                                            2132008624        486260114   
      4194416        101771994         59795791
source location                                     Garbage            Freed   
         Leak         Overhead            Times


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36262

Reply via email to