SRA: don't drop clobbers

Richard Biener richard.guenther@gmail.com
Fri Nov 21 15:21:00 GMT 2014


On Thu, Nov 20, 2014 at 7:11 PM, Martin Jambor <mjambor@suse.cz> wrote:
> Hi,
>
> On Mon, Nov 03, 2014 at 10:46:49PM +0100, Marc Glisse wrote:
>> On Mon, 3 Nov 2014, Marc Glisse wrote:
>>
>> >On Mon, 3 Nov 2014, Martin Jambor wrote:
>> >
>> >>I just applied your patch on top of trunk revision 217032 on my
>> >
>> >Ah, that explains it, thanks. This patch is a follow-up to
>> >r217034. Still, I didn't expect the ICE you are seeing by applying
>> >this patch to older trunk, I'll try to reproduce that.
>>
>> It is TODO_update_address_taken that used to remove clobbers, and as
>> you said ESRA goes straight to TODO_update_ssa, which explains why
>> the clobbers caused trouble. In any case, after r217034, update_ssa
>> should handle clobbers much better. Could you take an other look
>> based on a more recent trunk, please?
>>
>
> Sorry for the delay.  Anyway, on the current trunk (i.e. Tuesday
> checkout) the patch works as expected, there are assignments from
> default definitions now and even though we do not warn as we should,
> the patch improves the generated code.  The function foo from the
> testcase is optimized to "return SR.1_2(D);" as soon as release_ssa
> now, whereas unpatched trunk leaves an undefined load even in the
> optimized dump.
>
> Thus, I like the patch and given that you posted it well before stage1
> end, I'd like to see it committed.  Richi, can you have a look and
> perhaps approve it?

Yes, the patch is ok.

Thanks,
Richard.

> Thanks,
>
> Martin
>



More information about the Gcc-patches mailing list