summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2010-01-30 21:38:43 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2010-01-30 21:38:43 +0000
commit0d8a83a403b2418bd67b9c3071d38eee519335e9 (patch)
treef1269232f62e08b5b83d63c8391ec32a76cc9dd5
parent8a6723cece76f3136441badb77f5fa4abe1c660b (diff)
Make sure the previous node is not a NOTE; prevents ICE on loongson.
Actually we should probably look further than just the immediate predecessor here. ok miod@
-rw-r--r--gnu/usr.bin/gcc/gcc/protector.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/gcc/protector.c b/gnu/usr.bin/gcc/gcc/protector.c
index 8cda801293c..8a708685000 100644
--- a/gnu/usr.bin/gcc/gcc/protector.c
+++ b/gnu/usr.bin/gcc/gcc/protector.c
@@ -2515,6 +2515,7 @@ 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)))))