------- Comment #22 from zadeck at naturalbridge dot com  2007-06-30 17:24 
-------
Subject: Re:  [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

richard at codesourcery dot com wrote:
> ------- Comment #21 from richard at codesourcery dot com  2007-06-30 12:26 
> -------
> Subject: Re:  [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c
>
> Richard Sandiford <[EMAIL PROTECTED]> writes:
>   
>> Kenneth Zadeck <[EMAIL PROTECTED]> writes:
>>     
>>> 2007-06-23  Kenneth Zadeck <[EMAIL PROTECTED]>
>>>
>>>     PR middle-end/32437
>>>     *dce.c (deletable_insn_p): Add extra parameter and recurse if insn
>>>     is a PARALLEL.
>>>     (prescan_insns_for_dce): Add extra parameter.
>>>       
>> Kenny found that this patch introduced problems on x86 (I think it was)
>> because it applied the special handling for bare CLOBBERs to those
>> inside PARALLELs as well.  We don't want that; bare USEs and CLOBBERs
>> are special DF markers, but USEs and CLOBBERs inside PARALLELs are parts
>> of asms or define_insns.
>>
>> Kenny pre-approved the patch below.  Bootstrapped & regression-tested
>> on x86_64-linux-gnu.  Applied to mainline.
>>     
>
> This patch apparently caused 32475 to resurface, so I reverted it.
>
> Richard
>
>
>   
The comment #3 of this bug is mostly right, the part that pinskia got
wrong is the fact that it is the dce subpass of dse that is deleting the
insn.

I do not see any obvious reason that this insn should not be deleted
except that
the insn is marked as frame related.  Given that dse retains /f insns, I
guess that that is what is needed here.

Iant, is this correct.  If so, i will restore richards code but add a
test for frame_relatedness.

Kenny


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32437

Reply via email to