aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-09-20 13:11:36 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-09-20 13:11:36 -0700
commit2307e3723810fd0cc01af9e7082227140f6f9895 (patch)
tree1f7b81cddf0d338e59b35537c6441f3a9f803583 /gcc
parent8801244b4fad8cee4a8f2b343d23ba26560118e6 (diff)
downloadgcc-2307e3723810fd0cc01af9e7082227140f6f9895.zip
gcc-2307e3723810fd0cc01af9e7082227140f6f9895.tar.gz
gcc-2307e3723810fd0cc01af9e7082227140f6f9895.tar.bz2
basic-block.h (compute_bb_for_insn): Declare.
* 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. From-SVN: r29530
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/basic-block.h1
-rw-r--r--gcc/flow.c13
3 files changed, 14 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e1be652..1797612 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Mon Sep 20 12:59:16 1999 Richard Henderson <rth@cygnus.com>
+
+ * 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 <ghazi@caip.rutgers.edu>
* flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 4eca203..06ef7cf 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 b5b4800..988ccc7 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);