RFC: SMS problem with emit_copy_of_insn_after copying REG_NOTEs

Andreas Tobler toa@pop.agri.ch
Sat Dec 30 21:01:00 GMT 2006


Andrew Pinski wrote:
>> Hi,
>> thanks for testing.  I've bootstrapped/regtested this variant of patch
>> and comitted it as obvious.
> 
> This causes a bootstrap regression on powerpc-darwin while compiling libgfortran.

And linux-ppc 32-bit.

> we call copy_insn_1 with the following RTL:
> (gdb) p debug_rtx(orig)
> (insn 858 857 859 106 /Volumes/development/gcc/head/gcc/libgfortran/generated/matmul_r16.c:300 (set (reg:TF 474)
>         (reg:TF 33 f1)) 339 {*movtf_internal} (nil)
>     (insn_list:REG_RETVAL 855 (expr_list:REG_EQUAL (mult:TF (mem:TF (reg:SI 178 [ ivtmp.303 ]) [9 S16 A128])
>                 (mem:TF (reg:SI 180 [ ivtmp.301 ]) [9 S16 A128]))
>             (nil))))
> 
> 
>>From the added copy_insn_1:
> 5303              REG_NOTES (new)
> 5304                   = gen_rtx_INSN_LIST (REG_NOTE_KIND (link),
> 5305                     copy_insn_1 (XEXP (link, 0)),  REG_NOTES (new));
> 
> 
> Since this is an insn, we should not be copying it as it is just a link to that
> insn.
> 
> Attached is a patch which fixes the ICE though I have not bootstrapped and tested
> it yet.

I bootstrapped trunk with the fix on i?86-apple-darwin multilib, here it 
did not break. But I'm regtesting now.

I also did a complete bootstrap on powerpc-darwin.

Also, I completed a broken bootstrap with the fix applied on 
powerpc-linux 32-bit.

Another one is in progress, hppa2.0w-hp-hpux11.11. But this will take at 
least until tomorrow.

So far my comments.
Andreas



More information about the Gcc-patches mailing list