flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
authorRichard Henderson <rth@cygnus.com>
Thu, 27 Apr 2000 05:12:26 +0000 (22:12 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 27 Apr 2000 05:12:26 +0000 (22:12 -0700)
        * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
        * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.

From-SVN: r33461

gcc/ChangeLog
gcc/flow.c
gcc/ssa.c

index 5598f71cada5bc8726346a0b3c1c3a266d780f78..664481c09b13b5af8e7223142f7d033efc2616ca 100644 (file)
@@ -1,3 +1,8 @@
+2000-04-26  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
+       * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
+
 2000-04-26  Richard Henderson  <rth@cygnus.com>
 
        * flow.c (propagate_one_insn): Break out from propagate_block.
index dbff5de3c70623bbabefba5114df14cd6254b3ae..80c51a4178f7021bed514a70e9c6d2b608143197 100644 (file)
@@ -2662,8 +2662,6 @@ verify_local_live_at_start (new_live_at_start, bb)
    generates subregs of a multi-word pseudo, current life analysis will
    lose the kill.  So we _can_ have a pseudo go live.  How irritating.
 
-   BLOCK_FOR_INSN is assumed to be correct.
-
    Including PROP_REG_INFO does not properly refresh regs_ever_live
    unless the caller resets it to zero.  */
 
@@ -4336,16 +4334,15 @@ find_auto_inc (pbi, x, insn)
                 Change it to q = p, ...*q..., q = q+size.
                 Then fall into the usual case.  */
              rtx insns, temp;
-             basic_block bb;
 
              start_sequence ();
              emit_move_insn (q, addr);
              insns = get_insns ();
              end_sequence ();
 
-             bb = BLOCK_FOR_INSN (insn);
-             for (temp = insns; temp; temp = NEXT_INSN (temp))
-               set_block_for_insn (temp, bb);
+             if (basic_block_for_insn)
+               for (temp = insns; temp; temp = NEXT_INSN (temp))
+                 set_block_for_insn (temp, pbi->bb);
 
              /* If we can't make the auto-inc, or can't make the
                 replacement into Y, exit.  There's no point in making
@@ -4363,8 +4360,8 @@ find_auto_inc (pbi, x, insn)
                 new insn(s) and do the updates.  */
              emit_insns_before (insns, insn);
 
-             if (BLOCK_FOR_INSN (insn)->head == insn)
-               BLOCK_FOR_INSN (insn)->head = insns;
+             if (pbi->bb->head == insn)
+               pbi->bb->head = insns;
 
              /* INCR will become a NOTE and INSN won't contain a
                 use of ADDR.  If a use of ADDR was just placed in
index 5ce108a36ccacc2a8e3d3882c51bbe712ed71992..2db2d93030be670ce03c4358f28baad2fd2cf446 100644 (file)
--- a/gcc/ssa.c
+++ b/gcc/ssa.c
@@ -1811,7 +1811,6 @@ convert_from_ssa()
   rtx insns = get_insns ();
     
   /* We need up-to-date life information.  */
-  compute_bb_for_insn (get_max_uid ());
   life_analysis (insns, NULL, PROP_KILL_DEAD_CODE | PROP_SCAN_DEAD_CODE);
 
   /* Figure out which regs in copies and phi nodes don't conflict and