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: RFC: SMS problem with emit_copy_of_insn_after copying REG_NOTEs


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

Thanks,
Andrew Pinski


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