From a15784eedec22ad986bb5d9726c16aa28a4444b0 Mon Sep 17 00:00:00 2001 From: Oleg Endo Date: Tue, 1 Oct 2019 15:02:25 +0000 Subject: [PATCH] backport: re PR c++/88562 (Incorrect pointer incrementing on SH4) gcc/ 2019-10-01 Oleg Endo Backport from mainline 2019-10-01 Oleg Endo 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 | 11 +++++++++++ gcc/config/sh/sh.c | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0c5e96c61376..94bc2305576d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2019-10-01 Oleg Endo + + Backport from mainline + + 2019-10-01 Oleg Endo + + 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 Backport from mainline. diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index c303e5e54ae8..12374eaec6a5 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -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 (); -- 2.47.2