[C++ RFC] Re: PR 10776

Mark Mitchell mark@codesourcery.com
Mon Jan 12 19:35:00 GMT 2004


On Sun, 2004-01-11 at 01:36, Richard Henderson wrote:
> On Sat, Jan 10, 2004 at 07:12:29PM +0100, Jan Hubicka wrote:
> > the testcase in PR 10776 contains insanely large initializer that
> > results in insanely large basic blocks containing many memory locations
> > and CSElib just explodes in invalidating memory location after each
> > store.
> 
> While your two patches are still moderately interesting from the point
> of view of sanely handling extremely large basic blocks, it sort of 
> misses the point that we're doing something insanely stupid here with
> the initialization of this object.
> 
> The following patch splits the initialization into compile-time and
> run-time pieces.  For this test, all but one store can be done at
> compile-time.

I thought that was not a valid transformation, but it turns out that it
is.  I'd thought of doing this, but was never convinced it was allowed.

split_nonconstant_init and the _1 variant need comments for each of
their parameters.

If this patch passes tests, it is OK.

Thanks!

-- 
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC



More information about the Gcc-patches mailing list