diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/flow.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbbfc0a..ad7ae07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2000-07-30 Richard Henderson <rth@cygnus.com> + + * flow.c (init_propagate_block_info): Use pc_set. + Sun Jul 30 20:58:34 MET DST 2000 Jan Hubicka <jh@suse.cz> * i386.md (*lea_general_[123]) New insns and splits. @@ -3651,7 +3651,7 @@ init_propagate_block_info (bb, live, local_set, flags) regset_head diff_head; regset diff = INITIALIZE_REG_SET (diff_head); basic_block bb_true, bb_false; - rtx cond_true, cond_false; + rtx cond_true, cond_false, set_src; int i; /* Identify the successor blocks. */ @@ -3680,11 +3680,12 @@ init_propagate_block_info (bb, live, local_set, flags) } /* Extract the condition from the branch. */ - cond_true = XEXP (SET_SRC (PATTERN (bb->end)), 0); + set_src = SET_SRC (pc_set (bb->end)); + cond_true = XEXP (set_src, 0); cond_false = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)), GET_MODE (cond_true), XEXP (cond_true, 0), XEXP (cond_true, 1)); - if (GET_CODE (XEXP (SET_SRC (PATTERN (bb->end)), 1)) == PC) + if (GET_CODE (XEXP (set_src, 1)) == PC) { rtx t = cond_false; cond_false = cond_true; |
