diff options
author | Richard Henderson <rth@redhat.com> | 2004-06-19 12:13:03 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-06-19 12:13:03 -0700 |
commit | 8426c25e7c2351b1f1f7a48d3ec01a79622f558c (patch) | |
tree | 6d8e477733d842d809fa739ad92b73bc6b495e09 /gcc | |
parent | eb4e1c013c5b2f53ec8a31c98fbcd752d089ff4b (diff) | |
download | gcc-8426c25e7c2351b1f1f7a48d3ec01a79622f558c.zip gcc-8426c25e7c2351b1f1f7a48d3ec01a79622f558c.tar.gz gcc-8426c25e7c2351b1f1f7a48d3ec01a79622f558c.tar.bz2 |
re PR target/15550 ([i386] ICE in extract_insn, at recog.c:2083)
PR target/15550
* ifcvt.c (noce_try_move): Recognize all generated instructions.
From-SVN: r83395
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ifcvt.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 22d6a04..07e75cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-06-19 Richard Henderson <rth@redhat.com> + + PR target/15550 + * ifcvt.c (noce_try_move): Recognize all generated instructions. + 2004-06-19 Jan Hubicka <jh@suse.cz> * function.c (free_after_compilation): Do not free computed_goto_common*. diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 270cc59..79774ad 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -745,6 +745,15 @@ noce_try_move (struct noce_if_info *if_info) seq = get_insns (); unshare_ifcvt_sequence (if_info, seq); end_sequence (); + + /* Make sure that all of the instructions emitted are + recognizable. As an excersise for the reader, build + a general mechanism that allows proper placement of + required clobbers. */ + for (y = seq; y ; y = NEXT_INSN (y)) + if (recog_memoized (y) == -1) + return FALSE; + emit_insn_before_setloc (seq, if_info->jump, INSN_LOCATOR (if_info->insn_a)); } |