On Tue, 20 Mar 2007, Doug Gregor wrote:

> On 3/20/07, Brooks Moses <[EMAIL PROTECTED]> wrote:
> > Steven Bosscher wrote:
> > > On 3/20/07, Mark Mitchell <[EMAIL PROTECTED]> wrote:
> > >>  I think it's fair for front ends to pay for their
> > >> largesse.  There are also relatively cheap changes in the C++ front end
> > >> to salvage a few codes, and postpone the day of reckoning.
> > >
> > > I think that day of reckoning will come very soon again, with more
> > > C++0x work, more autovect work, OpenMP 3.0, and the tuples and LTO
> > > projects, etc., all requiring more tree codes.
> >
> > For that matter, does increasing the tree code limit to 512 codes
> > instead of 256 actually put off the day of reckoning enough to be worth it?
>
> I think so. It took us, what, 10 years to go through 256 codes? Even
> if we accelerate the pace of development significantly, we'll still
> get a few years out of 512 codes. All the while, we should be hunting
> to eliminate more of the "common" bits in tree_base (moving them into
> more specific substructures, like decl_common), allowing the tree code
> to increase in size. When we hit that 16-bit tree code, we'll get a
> small bump in performance when all of the masking logic just
> disappears. 16 bits is my goal, 9 bits is today's fix.
>   Cheers,
>   Doug

We've been considering two solutions, the 9 bit codes vs the subcode
alternative.

The 9 bit solution is considered simpler and without any memory penalty
but slows down the compiler and doesn't increase the number of codes very
much.  The subcodes solution increases memory usage (and possibly also
slows down the compiler) and is more complex and changes are more
pervasive.

A third solution may be to just go to 16 bit tree codes now.

Yes there's a memory hit.  However if the subcodes solution is preferred
by some, but has a memory hit and has added complexity, we may as well
just increase the tree code size to 16 bits and take the memory hit there
but retain compiler speed and simplicity.  We also then remove any worry
about the number of tree codes for much longer than the 9 bit solution.

Would you please consider testing the 16 bit tree code as you did for 8 vs
9 bits?  Perhaps you could also measure memory usage for all three
solutions?  I think that would give us a complete picture to make an
informed decision.

                Thanks,
                --Kaveh
--
Kaveh R. Ghazi                  [EMAIL PROTECTED]

Reply via email to