aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2007-04-22 00:18:02 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2007-04-22 00:18:02 +0000
commite919dfe284cd927fd0c1f0c9dea2570093e5280b (patch)
tree76cbfe3e32fb5f5ee543191f0d1b223fb3a74f23 /gcc
parentffd0af25c1ed795ffb02ddaee63f877cdc1dde87 (diff)
downloadgcc-e919dfe284cd927fd0c1f0c9dea2570093e5280b.zip
gcc-e919dfe284cd927fd0c1f0c9dea2570093e5280b.tar.gz
gcc-e919dfe284cd927fd0c1f0c9dea2570093e5280b.tar.bz2
re PR target/31480 (ICE with -O -fomit-frame-pointer on SH)
PR target/31480 * config/sh/sh.md (length): Check if prev_nonnote_insn (insn) is null. From-SVN: r124031
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.md10
2 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19e47fc..036f903e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-04-21 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/31480
+ * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
+ is null.
+
2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
* timevar.c (timevar_print): Change reference of --disable-checking to
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index fe99638..8d64505 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -420,10 +420,12 @@
(eq_attr "type" "jump")
(cond [(eq_attr "med_branch_p" "yes")
(const_int 2)
- (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn (insn))")
- (symbol_ref "INSN"))
- (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
- (symbol_ref "code_for_indirect_jump_scratch")))
+ (and (ne (symbol_ref "prev_nonnote_insn (insn)")
+ (const_int 0))
+ (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn (insn))")
+ (symbol_ref "INSN"))
+ (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
+ (symbol_ref "code_for_indirect_jump_scratch"))))
(cond [(eq_attr "braf_branch_p" "yes")
(const_int 6)
(eq (symbol_ref "flag_pic") (const_int 0))