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: [Bug target/37808] [4.4 Regression]: Revision 141067 breaks Linux/x86


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.

> 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
>


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