]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR c++/88562 (Incorrect pointer incrementing on SH4)
authorOleg Endo <olegendo@gcc.gnu.org>
Tue, 1 Oct 2019 15:02:25 +0000 (15:02 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Tue, 1 Oct 2019 15:02:25 +0000 (15:02 +0000)
gcc/
2019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>

Backport from mainline

2019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>

PR target/88562
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
sh_check_add_incdec_notes to preserve REG_INC notes when replacing
a memory access insn.

From-SVN: r276414

gcc/ChangeLog
gcc/config/sh/sh.c

index 0c5e96c613760050db1528a0229d79604d9e4933..94bc2305576d937bd6faf67f6afe679bdf5458dd 100644 (file)
@@ -1,3 +1,14 @@
+2019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       Backport from mainline
+
+       2019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/88562
+       * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
+       sh_check_add_incdec_notes to preserve REG_INC notes when replacing
+       a memory access insn.
+
 2019-09-28  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline.
index c303e5e54ae8ef6fcd585ba8f559d6045734d0a9..12374eaec6a554554a300614df328d6282599ed2 100644 (file)
@@ -12008,9 +12008,11 @@ sh_extending_set_of_reg::use_as_extended_reg (rtx_insn* use_at_insn) const
        rtx r = gen_reg_rtx (SImode);
        rtx_insn* i0;
        if (from_mode == QImode)
-         i0 = emit_insn_after (gen_extendqisi2 (r, set_src), insn);
+         i0 = sh_check_add_incdec_notes (
+                       emit_insn_after (gen_extendqisi2 (r, set_src), insn));
        else if (from_mode == HImode)
-         i0 = emit_insn_after (gen_extendhisi2 (r, set_src), insn);
+         i0 = sh_check_add_incdec_notes (
+                       emit_insn_after (gen_extendhisi2 (r, set_src), insn));
        else
          gcc_unreachable ();