diff options
author | Otto Moerbeek <otto@cvs.openbsd.org> | 2010-01-30 21:38:43 +0000 |
---|---|---|
committer | Otto Moerbeek <otto@cvs.openbsd.org> | 2010-01-30 21:38:43 +0000 |
commit | 0d8a83a403b2418bd67b9c3071d38eee519335e9 (patch) | |
tree | f1269232f62e08b5b83d63c8391ec32a76cc9dd5 | |
parent | 8a6723cece76f3136441badb77f5fa4abe1c660b (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.c | 1 |
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))))) |