------- Comment #29 from rakdver at gcc dot gnu dot org 2006-04-03 16:31 ------- (In reply to comment #27) > With a bit simplified testcase (my computer does not have enough memory for > this one), we spend 30% of compile time in rewrite_update_phi_arguments. > However, only 1.6% (less then 1% of compile time) of the > rewrite_update_phi_arguments calls actually changes anything, so the rest is > just traversing a dominance tree and visiting the phi nodes; perhaps this > could > be optimized somehow.
I have a patch that gets rewrite_update_phi_arguments below 1% of compile time (cutting the total compile time from 190 to 100s). Still, a lot of time is spent in tree SSA incremental (30%), I will have a look at that. One obvious problem is that update_ssa calls FOR_EACH_BB (and iterates for each stmt in it), thus leading to quadratic behavior if it is used too often; I think it should be possible to avoid. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26830