This is the mail archive of the
mailing list for the GCC project.
Re: [patch] PR39077
On Sun, Feb 21, 2010 at 7:39 PM, Jeff Law <email@example.com> wrote:
> On 02/21/10 05:51, Steven Bosscher wrote:
>>> The patch is ok with me if Jeff is fine with it.
>> Thanks. I think Jeff is fine with it (he said he'd OK a patch like
>> this in the bug audit trail) but I'll wait a bit to give him the
>> chance to have a fresh look.
> The only question I have about this code is how did we get such a high
> in-degree on the key blocks? ?I can see that with an exception handler (for
> example), but shouldn't those be abnormal edges and thus not eligible for
> expression insertions?
> While the patch is probably still a reasonable idea, I'm somewhat concerned
> that I'm missing something in regards to the kinds of situations which lead
> to these high in-degree nodes.
Well, when I looked at the PR last (a year ago) there was a block with
lots of normal incoming edges, like in the exit of a huge switch.
But with trunk today, the patch doesn't work anymore for the test case
of http://gcc.gnu.org/PR39077#c1 and there is no block with high
in-degree anymore. I should have verified that the patch still works.
The patch still somewhat works, but it now only reduces the code
explosion from a factor 20 to a factor 10:
Size with "-O1 -fno-gcse": 769264
Size with "-O1 -fgcse": 7806379
Size with "-O1 -fgcse" with patch applied: 14636257
So I guess that's a case of "back to the drawing board"...