needless deep recursion in gt-c-decl.h

Per Bothner per@bothner.com
Mon Aug 5 14:28:00 GMT 2002


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.
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/per/



More information about the Gcc mailing list