Fix if-conversion pass for dead type-unsafe code

pinskia@gmail.com pinskia@gmail.com
Mon Aug 18 08:38:00 GMT 2014



> On Aug 18, 2014, at 1:33 AM, Tom de Vries <Tom_deVries@mentor.com> wrote:
> 
>> On 14-08-14 16:34, Richard Biener wrote:
>>> On Sat, Aug 9, 2014 at 7:14 AM, Tom de Vries <Tom_deVries@mentor.com> wrote:
>>> On 08-08-14 17:17, Tom de Vries wrote:
>>>>> 
>>>>> Maybe instead of a new mem_alias_equal_p simply compare MEM_ATTRs
>>>>> with mem_attrs_eq_p?
>>>> 
>>>> 
>>>> I propose to fix it this way (as attached) on 4.8/4.9/trunk, and maybe do
>>>> a more
>>>> efficient handling on trunk as a follow-up patch.
>>>> 
>>>> I'll put this through bootstrap/test again.
>>> 
>>> 
>>> Bootstrapped and reg-tested on trunk x86_64.
>>> 
>>> Re-attached patch OK for trunk, 4.8, 4.9 ?
>> 
>> Ok.
> 
> Backported to 4.8 and 4.9 as attached.
> 
> The emit-rtl.{c,h} part of my patch was superfluous on trunk given that you already exported mem_attrs_eq_p, something I failed to notice when rebasing. So the backport contains that part of your patch. I've tested the backport patch on 4.9.
> 
>> (did you check the effect on code-generation?  that is, how many
>> opportunities compiling GCC do we "lose"?)
> 
> I haven't done that. I can look into that (after I fix the tail-merge part of pr62004).

Just FYI, this did fix the issue on MIPS that I had saw. 

Thanks,
Andrew

> 
> Thanks,
> - Tom
> 
> <0001-Fix-if-conversion-pass-for-dead-type-unsafe-code.patch>



More information about the Gcc-patches mailing list