diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ifcvt.c | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc4cfcf..1d9c94d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-04-14 Richard Henderson <rth@redhat.com> + + * ifcvt.c (find_cond_trap): Test for exit block. + Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz> Re-install recently reverted patch. diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 6196522..d23fd3a 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -2018,6 +2018,11 @@ find_cond_trap (test_bb, then_edge, else_edge) else return FALSE; + /* Don't confuse a conditional return with something we want to + optimize here. */ + if (trap_bb == EXIT_BLOCK_PTR) + return FALSE; + /* The only instruction in the THEN block must be the trap. */ trap = first_active_insn (trap_bb); if (! (trap == trap_bb->end |