summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2010-03-27 17:03:57 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2010-03-27 17:03:57 +0000
commit48f33903f3a2c02d49551e7c464a8fc9eed77a94 (patch)
tree86b6eb5d9c348574ba02840a4d2c9fbca5758154 /gnu
parentc704d6cd2517ce3f2b39a3e5337ddfc4ced9aa1c (diff)
Use prev_nonnote_insn() in push_frame_in_operand(); ok miod@
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/gcc/gcc/protector.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gnu/usr.bin/gcc/gcc/protector.c b/gnu/usr.bin/gcc/gcc/protector.c
index 8a708685000..ffec227f245 100644
--- a/gnu/usr.bin/gcc/gcc/protector.c
+++ b/gnu/usr.bin/gcc/gcc/protector.c
@@ -2368,7 +2368,7 @@ push_frame_in_operand (insn, orig, push_size, boundary)
rtx insn, orig;
HOST_WIDE_INT push_size, boundary;
{
- register rtx x = orig;
+ register rtx x = orig, prev_insn;
register enum rtx_code code;
int i, j;
HOST_WIDE_INT offset;
@@ -2460,6 +2460,7 @@ push_frame_in_operand (insn, orig, push_size, boundary)
case PLUS:
offset = AUTO_OFFSET(x);
+ prev_insn = prev_nonnote_insn (insn);
/* Handle special case of frame register plus constant. */
if (CONSTANT_P (XEXP (x, 1))
@@ -2514,18 +2515,17 @@ push_frame_in_operand (insn, orig, push_size, boundary)
*/
else if (XEXP (x, 0) == frame_pointer_rtx
&& GET_CODE (XEXP (x, 1)) == REG
- && PREV_INSN (insn)
- && !NOTE_P (PREV_INSN (insn))
- && PATTERN (PREV_INSN (insn))
- && SET_DEST (PATTERN (PREV_INSN (insn))) == XEXP (x, 1)
- && CONSTANT_P (SET_SRC (PATTERN (PREV_INSN (insn)))))
+ && prev_insn
+ && PATTERN (prev_insn)
+ && SET_DEST (PATTERN (prev_insn)) == XEXP (x, 1)
+ && CONSTANT_P (SET_SRC (PATTERN (prev_insn))))
{
- HOST_WIDE_INT offset = INTVAL (SET_SRC (PATTERN (PREV_INSN (insn))));
+ HOST_WIDE_INT offset = INTVAL (SET_SRC (PATTERN (prev_insn)));
if (x->used || offset < boundary)
return;
- SET_SRC (PATTERN (PREV_INSN (insn)))
+ SET_SRC (PATTERN (prev_insn))
= gen_rtx_CONST_INT (VOIDmode, offset + push_size);
x->used = 1;
XEXP (x, 1)->used = 1;