We're out of tree codes; now what?

Doug Gregor doug.gregor@gmail.com
Tue Mar 13 17:48:00 GMT 2007


On 3/13/07, Mike Stump <mrs@apple.com> wrote:
> On Mar 13, 2007, at 5:29 AM, Doug Gregor wrote:
> > I don't know if we'll be able to get rid of *enough* tree codes,
> > without going to some kind of two-level hierarchy.
>
> I think we can.  I have a patch, that in theory should work (doesn't
> bootsrap yet, not sure why).  I use subcodes for all the Objective-C
> TYPE nodes.

We would get a lot of tree codes back if we could subcode the C++
_TYPE nodes effectively. I look forward to seeing your patch.

> > Some upcoming bits that will need more tree codes:
> >  - C++0x (my guess: > 10 new tree codes),
>
> If we decide to subcode, we're going to have to have reject patches
> that add any new codes without removing codes on a one for one basis.

That's fine, so long as we give good guidance to submitters stating
how to subcode.
I'm imagining a whole economy built on the swapping of tree codes for
various other commodities :)

> > If trees were only used by the middle end, or only used by the
> > C/C++/Objective C/C++ front ends, we'd be okay. But we decided to use
> > them in both places.
>
> Actually, if we keep the front-end data structures away from the mid-
> end and/or back-end, we can use the same values in the codes between
> the front-end and the rest of the compiler.  This would potentially
> give us back many codes, without the _cost_ of subcodes.  The
> downside, printers (debug_tree) of codes would have to be away from
> which realm the code came from to print it.

It would also become harder to debug problems that stem from failing
to lower a particular construct for the middle end. Still, it would be
a big win.

  Cheers,
  Doug "Hey man, wanna buy a tree code?" Gregor



More information about the Gcc-patches mailing list