From 9d3d0d6d50933dee60b4579dc93ff6a91e363e2e Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 27 Apr 2000 05:12:26 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33461 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/flow.c | 13 +++++-------- gcc/ssa.c | 1 - 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5598f71cada..664481c09b1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-04-26 Richard Henderson + * 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 + * flow.c (propagate_one_insn): Break out from propagate_block. (init_propagate_block_info): Likewise. (free_propagate_block_info): Likewise. diff --git a/gcc/flow.c b/gcc/flow.c index dbff5de3c70..80c51a4178f 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 diff --git a/gcc/ssa.c b/gcc/ssa.c index 5ce108a36cc..2db2d93030b 100644 --- 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 -- 2.11.0