diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2007-04-22 00:18:02 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2007-04-22 00:18:02 +0000 |
commit | e919dfe284cd927fd0c1f0c9dea2570093e5280b (patch) | |
tree | 76cbfe3e32fb5f5ee543191f0d1b223fb3a74f23 /gcc | |
parent | ffd0af25c1ed795ffb02ddaee63f877cdc1dde87 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 10 |
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)) |