This is the mail archive of the
mailing list for the GCC project.
Re: needless deep recursion in gt-c-decl.h
Geoff Keating wrote:
I think I described in a previous e-mail how the one-loop
algorithm doesn't work; IIRC it went like:
originally: 24000 maximum nesting on expr.o
one loop: 16000
two loops: 9000
three loops: 800
To quote from your previous email:
I tried both algorithms on the tree marker routine for C. They both
> had about the same effect, reducing the recursion depth to about
> 16000, with no significant change in CPU time.
> The 16000 turns out to be mostly RTL marking.
I.e. most of the recursion depth when marking *tree nodes*
consists of marking *rtl modes*. I'm suggesting that we don't
need to mark rtl nodes while we're marking tree nodes. Don't
recurse into rtl from tree - we'll get to the rtl from the
other roots anyway. In that case your results suggest that a
one-loop method is might work fine.