This is the mail archive of the gcc-patches@gcc.gnu.org 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: [patch] PR39077


On Sun, Feb 21, 2010 at 7:39 PM, Jeff Law <law@redhat.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"...

Ciao!
Steven


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