arm.c (arm_expand_prologue): Ensure that the stack-adjustment barrier can't be ignored by the alias analysis...
* arm.c (arm_expand_prologue): Ensure that the stack-adjustment barrier can't be ignored by the alias analysis code. From-SVN: r35911
This commit is contained in:
parent
47db946ca4
commit
e04c2d6ca1
2 changed files with 18 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2000-08-23 Richard Earnshaw (rearnsha@arm.com)
|
||||
|
||||
* arm.c (arm_expand_prologue): Ensure that the stack-adjustment
|
||||
barrier can't be ignored by the alias analysis code.
|
||||
|
||||
2000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
* fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
|
||||
|
|
|
@ -7430,8 +7430,19 @@ arm_expand_prologue ()
|
|||
insn = emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
|
||||
amount));
|
||||
RTX_FRAME_RELATED_P (insn) = 1;
|
||||
emit_insn (gen_rtx_CLOBBER (VOIDmode,
|
||||
gen_rtx_MEM (BLKmode, stack_pointer_rtx)));
|
||||
|
||||
/* If the frame pointer is needed, emit a special barrier that
|
||||
will prevent the scheduler from moving stores to the frame
|
||||
before the stack adjustment. */
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
rtx unspec = gen_rtx_UNSPEC (SImode,
|
||||
gen_rtvec (2, stack_pointer_rtx,
|
||||
hard_frame_pointer_rtx), 4);
|
||||
|
||||
emit_insn (gen_rtx_CLOBBER (VOIDmode,
|
||||
gen_rtx_MEM (BLKmode, unspec)));
|
||||
}
|
||||
}
|
||||
|
||||
/* If we are profiling, make sure no instructions are scheduled before
|
||||
|
|
Loading…
Add table
Reference in a new issue