* flow.c (init_propagate_block_info): Use pc_set.
authorRichard Henderson <rth@cygnus.com>
Sun, 30 Jul 2000 23:05:52 +0000 (16:05 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 30 Jul 2000 23:05:52 +0000 (16:05 -0700)
From-SVN: r35353

gcc/ChangeLog
gcc/flow.c

index bbbfc0a15d5253a16cb14d1dad237aaca8232b34..ad7ae07565f5251b5e2e5465d96cb7b3d5d04da2 100644 (file)
@@ -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.
index 0d27ed9a97731a46f7622b44a9e97ab8f0b14536..4f64de917f30e645e81282c4073803904149cdd5 100644 (file)
@@ -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;