diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-05-01 23:34:24 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-05-01 23:34:24 +0000 |
commit | 26caf96068ac79c511e4d78e8a7d54c72fde093e (patch) | |
tree | f70c8b4042f902d9f2712e78489f350a1754474d /gcc/global.c | |
parent | ec23484219d001293b71a7b7940a0f0840b71037 (diff) | |
download | gcc-26caf96068ac79c511e4d78e8a7d54c72fde093e.zip gcc-26caf96068ac79c511e4d78e8a7d54c72fde093e.tar.gz gcc-26caf96068ac79c511e4d78e8a7d54c72fde093e.tar.bz2 |
* global.c (calculate_reg_pav): Use VEC instead of VARRAY.
From-SVN: r99085
Diffstat (limited to 'gcc/global.c')
-rw-r--r-- | gcc/global.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/gcc/global.c b/gcc/global.c index 4771ef0..b11e6d7 100644 --- a/gcc/global.c +++ b/gcc/global.c @@ -2292,6 +2292,9 @@ rpost_cmp (const void *bb1, const void *bb2) /* Temporary bitmap used for live_pavin, live_pavout calculation. */ static bitmap temp_bitmap; +DEF_VEC_P(basic_block); +DEF_VEC_ALLOC_P(basic_block,heap); + /* The function calculates partial register availability according to the following equations: @@ -2307,22 +2310,22 @@ calculate_reg_pav (void) basic_block bb, succ; edge e; int i, nel; - varray_type bbs, new_bbs, temp; + VEC(basic_block,heap) *bbs, *new_bbs, *temp; basic_block *bb_array; sbitmap wset; - VARRAY_BB_INIT (bbs, n_basic_blocks, "basic blocks"); - VARRAY_BB_INIT (new_bbs, n_basic_blocks, "basic blocks for the next iter."); + bbs = VEC_alloc (basic_block, heap, n_basic_blocks); + new_bbs = VEC_alloc (basic_block, heap, n_basic_blocks); temp_bitmap = BITMAP_ALLOC (NULL); FOR_EACH_BB (bb) { - VARRAY_PUSH_BB (bbs, bb); + VEC_quick_push (basic_block, bbs, bb); } wset = sbitmap_alloc (n_basic_blocks + 1); - while (VARRAY_ACTIVE_SIZE (bbs)) + while (VEC_length (basic_block, bbs)) { - bb_array = &VARRAY_BB (bbs, 0); - nel = VARRAY_ACTIVE_SIZE (bbs); + bb_array = VEC_address (basic_block, bbs); + nel = VEC_length (basic_block, bbs); qsort (bb_array, nel, sizeof (basic_block), rpost_cmp); sbitmap_zero (wset); for (i = 0; i < nel; i++) @@ -2356,7 +2359,7 @@ calculate_reg_pav (void) && !TEST_BIT (wset, succ->index)) { SET_BIT (wset, succ->index); - VARRAY_PUSH_BB (new_bbs, succ); + VEC_quick_push (basic_block, new_bbs, succ); } } } @@ -2364,10 +2367,12 @@ calculate_reg_pav (void) temp = bbs; bbs = new_bbs; new_bbs = temp; - VARRAY_POP_ALL (new_bbs); + VEC_truncate (basic_block, new_bbs, 0); } sbitmap_free (wset); BITMAP_FREE (temp_bitmap); + VEC_free (basic_block, heap, new_bbs); + VEC_free (basic_block, heap, bbs); } /* The function modifies partial availability information for two |