[tree-ssa] Preliminary analysis on POOMA slow downs (was Re: [tree-ssa] Speed up constant propagation)
Steven Bosscher
s.bosscher@student.tudelft.nl
Tue Jun 17 22:18:00 GMT 2003
Daniel Berlin wrote:
>On Tue, 17 Jun 2003, Steven Bosscher wrote:
>
>>Daniel Berlin wrote:
>>
>>>On Tuesday, June 17, 2003, at 01:07 PM, Diego Novillo wrote:
>>>
>>>
>>>>I'm a bit surprised that the inliner is taking such a big hit.
>>>>
>>>
>>>
>>>Hrmmmmm.
>>>Remember we downed INSNS_PER_STMT (tree-inline.c), which increases the
>>>amount of inlining done.
>>>That was done only considering the effects of GIMPLE on C (and even
>>>then, it was a while ago).
>>>It might need reevaluation in light of C++ gimplification, etc.
>>>
>>AFAICT it was never done and INSNS_PER_STMT is 10 on both mainline and
>>branch.
>>
>So yer right.
>Whoops.
>I never committed it.
>:)
>
Actually I've been wondering if it makes a difference if you change it
or not. The problem is not so much in INSNS_PER_STMT, but more in how
we estimate the size of function trees.
The size of the function is estimated with
DECL_NUM_STMTS*INSNS_PER_STMT, and DECL_NUM_STMTS is only set by the
front end. FWIW that is also why we do so poorly on C++ inlining, so it
should be replaced with a less inaccurate estimate. We currently
overestimate the number if insns for most functions, so the current
MAX_INSNS_* params are too large. But on tree-ssa
I had the idea to set INSNS_PER_STMT to 3 and multiplying that by the
number of nodes for which IS_EXPR_CODE_CLASS is true in the gimplified
function tree (finding them with a tree walk), but that was too
expensive for some tests I did (PR 8361, etc).
>>It looks more like you suffer from the extra pointers from the tree
>>iterators and from the extra tree copying because GIMPLE has more trees
>>and unshares everything.
>>
>Don't start the sharing argument again.
>
Oh sorry, I didn't even know there was an argument about it, so I
wouldn't even know what to argue about :-)
BTW Diego, you may wish to try my patch for PR 1687
(http://gcc.gnu.org/ml/gcc-patches/2003-05/msg00179.html) which went
into 3.3 but not (yet) to mainline. I don't know if it helps, but it
may be worth a try.
Gr.
Steven
More information about the Gcc
mailing list