aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-04-26 22:12:26 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-04-26 22:12:26 -0700
commit443b75c925b8b46c819fced9c4266f590b359bae (patch)
treecb8d9095d02418889642f4329daf7bcf3633ad5d /gcc/flow.c
parent292f38694a71cd35b5eb3239e39bff7bf2b244e4 (diff)
downloadgcc-443b75c925b8b46c819fced9c4266f590b359bae.zip
gcc-443b75c925b8b46c819fced9c4266f590b359bae.tar.gz
gcc-443b75c925b8b46c819fced9c4266f590b359bae.tar.bz2
flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
* 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
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index dbff5de..80c51a4 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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