From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1579) id CD685385703F; Wed, 2 Jun 2021 20:08:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CD685385703F MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Pat Haugen To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-1166] Make sure link reg save MEM has frame alias set. X-Act-Checkin: gcc X-Git-Author: Pat Haugen X-Git-Refname: refs/heads/master X-Git-Oldrev: 63d182b29306e582bfb151cf762820211ea1cc7e X-Git-Newrev: d2d74c9fc0cf46f66cd02698a52f5e5db109271d Message-Id: <20210602200808.CD685385703F@sourceware.org> Date: Wed, 2 Jun 2021 20:08:08 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jun 2021 20:08:09 -0000 https://gcc.gnu.org/g:d2d74c9fc0cf46f66cd02698a52f5e5db109271d commit r12-1166-gd2d74c9fc0cf46f66cd02698a52f5e5db109271d Author: Pat Haugen Date: Wed Jun 2 15:03:40 2021 -0500 Make sure link reg save MEM has frame alias set. gcc/ChangeLog: * config/rs6000/rs6000-logue.c (rs6000_emit_prologue): Use gen_frame_store. Diff: --- gcc/config/rs6000/rs6000-logue.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/gcc/config/rs6000/rs6000-logue.c b/gcc/config/rs6000/rs6000-logue.c index 13c00e740d6..07337c4836a 100644 --- a/gcc/config/rs6000/rs6000-logue.c +++ b/gcc/config/rs6000/rs6000-logue.c @@ -3257,7 +3257,7 @@ rs6000_emit_prologue (void) if (!WORLD_SAVE_P (info) && info->lr_save_p && !cfun->machine->lr_is_wrapped_separately) { - rtx addr, reg, mem; + rtx reg; reg = gen_rtx_REG (Pmode, 0); START_USE (0); @@ -3267,13 +3267,8 @@ rs6000_emit_prologue (void) if (!(strategy & (SAVE_NOINLINE_GPRS_SAVES_LR | SAVE_NOINLINE_FPRS_SAVES_LR))) { - addr = gen_rtx_PLUS (Pmode, frame_reg_rtx, - GEN_INT (info->lr_save_offset + frame_off)); - mem = gen_rtx_MEM (Pmode, addr); - /* This should not be of rs6000_sr_alias_set, because of - __builtin_return_address. */ - - insn = emit_move_insn (mem, reg); + insn = emit_insn (gen_frame_store (reg, frame_reg_rtx, + info->lr_save_offset + frame_off)); rs6000_frame_related (insn, frame_reg_rtx, sp_off - frame_off, NULL_RTX, NULL_RTX); END_USE (0);