This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, ARM] Fix PR target/58423
- From: Zhenqiang Chen <zhenqiang dot chen at linaro dot org>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Ramana Radhakrishnan <ramrad01 at arm dot com>
- Date: Mon, 23 Sep 2013 14:58:52 +0800
- Subject: [PATCH, ARM] Fix PR target/58423
- Authentication-results: sourceware.org; auth=none
Hi,
The patch fixes PR target/58423.
Bootstrap and no make check regression on Chromebook with ARM mode.
Is it OK for trunk?
Thanks!
-Zhenqiang
ChangeLog:
2013-09-23 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR target/58423
* config/arm/arm.c (arm_emit_ldrd_pop): Attach RTX_FRAME_RELATED_P
on INSN.
--- clean-trunk/gcc/config/arm/arm.c 2013-09-17 14:29:45.632457018 +0800
+++ pr58423/gcc/config/arm/arm.c 2013-09-18 14:34:24.708892318 +0800
@@ -17645,8 +17645,8 @@
mem = gen_frame_mem (DImode, stack_pointer_rtx);
tmp = gen_rtx_SET (DImode, gen_rtx_REG (DImode, j), mem);
- RTX_FRAME_RELATED_P (tmp) = 1;
tmp = emit_insn (tmp);
+ RTX_FRAME_RELATED_P (tmp) = 1;
/* Generate dwarf info. */
@@ -17674,8 +17674,8 @@
mem = gen_frame_mem (SImode, stack_pointer_rtx);
tmp = gen_rtx_SET (SImode, gen_rtx_REG (SImode, j), mem);
- RTX_FRAME_RELATED_P (tmp) = 1;
tmp = emit_insn (tmp);
+ RTX_FRAME_RELATED_P (tmp) = 1;
/* Generate dwarf info. */
REG_NOTES (tmp) = alloc_reg_note (REG_CFA_RESTORE,
@@ -17699,8 +17699,9 @@
plus_constant (Pmode,
stack_pointer_rtx,
offset));
- RTX_FRAME_RELATED_P (tmp) = 1;
- emit_insn (tmp);
+ tmp = emit_insn (tmp);
+ arm_add_cfa_adjust_cfa_note (tmp, offset,
+ stack_pointer_rtx, stack_pointer_rtx);
offset = 0;
}
@@ -17723,6 +17724,8 @@
gen_rtx_REG (SImode, PC_REGNUM),
NULL_RTX);
REG_NOTES (par) = dwarf;
+ arm_add_cfa_adjust_cfa_note (par, UNITS_PER_WORD,
+ stack_pointer_rtx, stack_pointer_rtx);
}
}