[Bug target/37808] [4.4 Regression]: Revision 141067 breaks Linux/x86

Kenneth Zadeck zadeck@naturalbridge.com
Mon Oct 13 00:38:00 GMT 2008


Richard Guenther wrote:
> On Sun, Oct 12, 2008 at 11:12 PM, Kenneth Zadeck
> <zadeck@naturalbridge.com> wrote:
>   
>> andreast at gcc dot gnu dot org wrote:
>>     
>>> ------- Comment #7 from andreast at gcc dot gnu dot org  2008-10-12 20:31 -------
>>> I see a failure on sparc-solaris8/10 too. Configury of stage2 fails.
>>> Applying the mentioned patch cures compilation.
>>> My sparc config is with multilib. 32-bit/64-bit.
>>>
>>>
>>>
>>>       
>> The problem is that the bb is no longer kept in the df-ref, and is
>> instead extracted from the insn.
>> This particular problem was caused by insns being deleted in a pass that
>> defers rescanning but that also changes register numbers.   The fix
>> checks to make sure the insn is still in a basic block before trying to
>> mark the block as being dirty.
>>     
>
> Ok.  I think it's odd that we keep refs to deleted insns - but that's probably
> because of the deferred re-scan, right?
>
> Thanks,
> Richard.
>   
yes, this only is because of the deferred rescan.

committed as revision 14178.

kenny
>   
>> 2008-10-12  Kenneth Zadeck <zadeck@naturalbridge.com>
>>
>>    PR middle-end/37808
>>    * df-scan.c (df_ref_change_reg_with_loc_1): Added test to make
>>    sure that ref has valid bb.
>>
>> Tested by me on both x86-32 and x86-64.   Also tested by andreast on
>> spark-solaris and by keating.
>>
>> OK to commit?
>>
>> kenny
>>
>>     



More information about the Gcc-patches mailing list