From 54ae850241843146f46841f53796d365b62e2b03 Mon Sep 17 00:00:00 2001 From: rth Date: Mon, 20 Sep 1999 20:11:36 +0000 Subject: [PATCH] * basic-block.h (compute_bb_for_insn): Declare. * flow.c (compute_bb_for_insn): Export. Don't accept the varray to use; set size of basic_block_for_insn directly. (find_basic_blocks): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29530 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/basic-block.h | 1 + gcc/flow.c | 13 ++++++------- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e1be65212c8..1797612f55a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Mon Sep 20 12:59:16 1999 Richard Henderson + + * basic-block.h (compute_bb_for_insn): Declare. + * flow.c (compute_bb_for_insn): Export. Don't accept the varray + to use; set size of basic_block_for_insn directly. + (find_basic_blocks): Update. + Mon Sep 20 15:11:54 1999 Kaveh R. Ghazi * flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();". diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 4eca203e2ec..06ef7cf452c 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -233,6 +233,7 @@ extern varray_type basic_block_for_insn; #define BLOCK_FOR_INSN(INSN) VARRAY_BB (basic_block_for_insn, INSN_UID (INSN)) #define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0) +extern void compute_bb_for_insn PROTO ((int)); extern void set_block_for_insn PROTO ((rtx, basic_block)); extern void dump_bb_data PROTO ((FILE *, int_list_ptr *, diff --git a/gcc/flow.c b/gcc/flow.c index b5b48000d3f..988ccc75e8b 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -276,7 +276,6 @@ static bitmap uid_volatile; static int count_basic_blocks PROTO((rtx)); static rtx find_basic_blocks_1 PROTO((rtx, rtx*)); static void create_basic_block PROTO((int, rtx, rtx, rtx)); -static void compute_bb_for_insn PROTO((varray_type, int)); static void clear_edges PROTO((void)); static void make_edges PROTO((rtx, rtx*)); static void make_edge PROTO((basic_block, basic_block, int)); @@ -404,8 +403,7 @@ find_basic_blocks (f, nregs, file, do_cleanup) max_uid += max_uid / 10; #endif - VARRAY_BB_INIT (basic_block_for_insn, max_uid, "basic_block_for_insn"); - compute_bb_for_insn (basic_block_for_insn, max_uid); + compute_bb_for_insn (max_uid); /* Discover the edges of our cfg. */ @@ -804,13 +802,14 @@ create_basic_block (index, head, end, bb_note) /* Records the basic block struct in BB_FOR_INSN, for every instruction indexed by INSN_UID. MAX is the size of the array. */ -static void -compute_bb_for_insn (bb_for_insn, max) - varray_type bb_for_insn; +void +compute_bb_for_insn (max) int max; { int i; + VARRAY_BB_INIT (basic_block_for_insn, max, "basic_block_for_insn"); + for (i = 0; i < n_basic_blocks; ++i) { basic_block bb = BASIC_BLOCK (i); @@ -822,7 +821,7 @@ compute_bb_for_insn (bb_for_insn, max) { int uid = INSN_UID (insn); if (uid < max) - VARRAY_BB (bb_for_insn, uid) = bb; + VARRAY_BB (basic_block_for_insn, uid) = bb; if (insn == end) break; insn = NEXT_INSN (insn); -- 2.11.4.GIT