aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2013-10-30 10:54:04 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2013-10-30 10:54:04 +0000
commit55ebf587382e3e1a41b9c1705a74e4a1ed6acae5 (patch)
tree4f4310f789c944c0fdaa7ee3ba27e46c4db29661 /gcc/config
parent34a3fb96dcdc2fadf7a9f206a5d1e42f4dbf177d (diff)
downloadgcc-55ebf587382e3e1a41b9c1705a74e4a1ed6acae5.zip
gcc-55ebf587382e3e1a41b9c1705a74e4a1ed6acae5.tar.gz
gcc-55ebf587382e3e1a41b9c1705a74e4a1ed6acae5.tar.bz2
re PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses)
Fix PR target/58854 2013-10-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/58854 * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage. From-SVN: r204203
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/arm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 212a4bc..23dfc0e 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -26547,6 +26547,7 @@ arm_expand_epilogue_apcs_frame (bool really_return)
num_regs = bit_count (saved_regs_mask);
if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
{
+ emit_insn (gen_blockage ());
/* Unwind the stack to just below the saved registers. */
emit_insn (gen_addsi3 (stack_pointer_rtx,
hard_frame_pointer_rtx,