RFC: SMS problem with emit_copy_of_insn_after copying REG_NOTEs

Vladimir Yanovsky volodyan@gmail.com
Sun Dec 31 12:15:00 GMT 2006


Hi,
Sorry for possibly causing confusion. I had tested the patch on my ICE
testcase and bootstrapped for -enable-languages=C, but didn't run the
full bootstrap. Bootstrapping the latest Andrew's patch on ppc-linux
and testing it on SPU.

Vladimir

On 12/30/06, Jan Hubicka <jh@suse.cz> wrote:
> Hi,
> thanks for testing.  I've bootstrapped/regtested this variant of patch
> and comitted it as obvious.
>
> Honza
>
> 2006-12-30  Jan Hubicka  <jh@suse.cz>
>             Vladimir Yanovsky <volodyan@gmail.com>
>
>         * emit-rt.c (emit_copy_of_insn_after): Fix bug causing exponential
>         amount of copies of INSN_NOTEs list.
>
> Index: emit-rtl.c
> ===================================================================
> --- emit-rtl.c  (revision 120274)
> +++ emit-rtl.c  (working copy)
> @@ -5297,14 +5297,12 @@ emit_copy_of_insn_after (rtx insn, rtx a
>        {
>         if (GET_CODE (link) == EXPR_LIST)
>           REG_NOTES (new)
> -           = copy_insn_1 (gen_rtx_EXPR_LIST (REG_NOTE_KIND (link),
> -                                             XEXP (link, 0),
> -                                             REG_NOTES (new)));
> +               = gen_rtx_EXPR_LIST (REG_NOTE_KIND (link),
> +                 copy_insn_1 (XEXP (link, 0)),  REG_NOTES (new));
>         else
>           REG_NOTES (new)
> -           = copy_insn_1 (gen_rtx_INSN_LIST (REG_NOTE_KIND (link),
> -                                             XEXP (link, 0),
> -                                             REG_NOTES (new)));
> +              = gen_rtx_INSN_LIST (REG_NOTE_KIND (link),
> +                copy_insn_1 (XEXP (link, 0)),  REG_NOTES (new));
>        }
>
>    /* Fix the libcall sequences.  */
>



More information about the Gcc-patches mailing list