]> 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 14:58:10 +0000 (14:58 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Tue, 1 Oct 2019 14:58:10 +0000 (14:58 +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: r276412

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

index 182d2e28b9e77e621287f36e7f4a8393939e2216..b36097160f44e836abc7ff3baa71536cf35c1cb3 100644 (file)
@@ -1,3 +1,15 @@
+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-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        Backport from mainline
index 08c9ffbee4fafc3ca8260efd44231e1052d16554..bd7dff5f3e5d670007e7fb2ae8d17e450d593c77 100644 (file)
@@ -12090,9 +12090,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 ();