diff options
author | Richard Henderson <rth@cygnus.com> | 2000-04-26 01:40:11 +0000 |
---|---|---|
committer | Richard Henderson <rth@cygnus.com> | 2000-04-26 01:40:11 +0000 |
commit | 527b46018d4dc6ac7fbe9785332c6d77cdd51726 (patch) | |
tree | 8a4987f07292227fd7a06ffa55f4e7eaf72296c9 | |
parent | 19c492ae4ea8e1637078ef475ce94c36fd0d461e (diff) |
* condexec.c (find_if_case_2): Don't die if then_bb is EXIT.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/condexec-branch@33437 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.CE | 2 | ||||
-rw-r--r-- | gcc/condexec.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ChangeLog.CE b/gcc/ChangeLog.CE index d3f6588bf7e..baa92bd3278 100644 --- a/gcc/ChangeLog.CE +++ b/gcc/ChangeLog.CE @@ -2,6 +2,8 @@ * condexec.c (noce_try_cmove_arith): Also fail if no insn_a. + * condexec.c (find_if_case_2): Don't die if then_bb is EXIT. + 2000-04-25 Richard Henderson <rth@cygnus.com> * condexec.c (noce_process_if_block): Reject insn_b from test_bb diff --git a/gcc/condexec.c b/gcc/condexec.c index d3aeabcd0ea..78984448a6d 100644 --- a/gcc/condexec.c +++ b/gcc/condexec.c @@ -1550,8 +1550,9 @@ find_if_case_2 (test_bb, then_edge, else_edge) if (note && INTVAL (XEXP (note, 0)) >= REG_BR_PROB_BASE / 2) ; else if (else_succ->dest->index < 0 - || TEST_BIT (post_dominators[ORIG_INDEX (then_bb)], - ORIG_INDEX (else_succ->dest))) + || (then_bb->index >= 0 + && TEST_BIT (post_dominators[ORIG_INDEX (then_bb)], + ORIG_INDEX (else_succ->dest)))) ; else return FALSE; |