This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: needless deep recursion in gt-c-decl.h

Geoff Keating wrote:
This won't avoid the LABEL_REF.  It will be encountered the first time
it's used in RTL, which will still be much earlier than the position
of the label.
Same point:  Do we really need to follow LABEL_REFs?  Aren't their
targets guaranteed to be referenced by something else?

General point:  We're acting as if we're implementing a general-purpose
garbage collector that needs to work without any knowledge of the
semantics of its objects beyond being able to chase pointers.  However,
we don't need a general gc - we just need something that works for gcc.
And gcc doesn't willy-nilly allocate chunks of rtl and stash them in
random places.  We know how gcc allocates and uses rtl.  Thus we don't
need to chase every cross-reference and back-pointer - they are
redundant, if the compiler isn't broken.  (Of course having self-checks
in the compiler is good.  But that's a separate issue.)

(Of course if we were implementing a general-purpose garbage collector
we should not use recursion to follow pointers!)
	--Per Bothner

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]