aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-05-02 15:28:51 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-05-02 15:28:51 +0000
commit2c2174426d8a0742b053d2fece199f44fc07a435 (patch)
treec24866983e39ee392871536ae5b764b9443cc14c /gcc/function.c
parent3b9dd7692bfdde3ff813fe35f0e0b8221132b0f8 (diff)
downloadgcc-2c2174426d8a0742b053d2fece199f44fc07a435.zip
gcc-2c2174426d8a0742b053d2fece199f44fc07a435.tar.gz
gcc-2c2174426d8a0742b053d2fece199f44fc07a435.tar.bz2
function.c (reorder_blocks, [...]): Use VEC instead of VARRAY.
* function.c (reorder_blocks, reorder_blocks_1): Use VEC instead of VARRAY. From-SVN: r99099
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/gcc/function.c b/gcc/function.c
index bde08a8..2b551e4 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -191,7 +191,7 @@ static rtx assign_stack_local_1 (enum machine_mode, HOST_WIDE_INT, int,
static struct temp_slot *find_temp_slot_from_address (rtx);
static void pad_to_arg_alignment (struct args_size *, int, struct args_size *);
static void pad_below (struct args_size *, enum machine_mode, tree);
-static void reorder_blocks_1 (rtx, tree, varray_type *);
+static void reorder_blocks_1 (rtx, tree, VEC(tree,heap) **);
static void reorder_fix_fragments (tree);
static int all_blocks (tree, tree *);
static tree *get_block_vector (tree, int *);
@@ -3468,12 +3468,12 @@ void
reorder_blocks (void)
{
tree block = DECL_INITIAL (current_function_decl);
- varray_type block_stack;
+ VEC(tree,heap) *block_stack;
if (block == NULL_TREE)
return;
- VARRAY_TREE_INIT (block_stack, 10, "block_stack");
+ block_stack = VEC_alloc (tree, heap, 10);
/* Reset the TREE_ASM_WRITTEN bit for all blocks. */
clear_block_marks (block);
@@ -3488,6 +3488,8 @@ reorder_blocks (void)
/* Remove deleted blocks from the block fragment chains. */
reorder_fix_fragments (block);
+
+ VEC_free (tree, heap, block_stack);
}
/* Helper function for reorder_blocks. Reset TREE_ASM_WRITTEN. */
@@ -3504,7 +3506,7 @@ clear_block_marks (tree block)
}
static void
-reorder_blocks_1 (rtx insns, tree current_block, varray_type *p_block_stack)
+reorder_blocks_1 (rtx insns, tree current_block, VEC(tree,heap) **p_block_stack)
{
rtx insn;
@@ -3547,12 +3549,11 @@ reorder_blocks_1 (rtx insns, tree current_block, varray_type *p_block_stack)
BLOCK_SUBBLOCKS (current_block) = block;
current_block = block;
}
- VARRAY_PUSH_TREE (*p_block_stack, block);
+ VEC_safe_push (tree, heap, *p_block_stack, block);
}
else if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END)
{
- NOTE_BLOCK (insn) = VARRAY_TOP_TREE (*p_block_stack);
- VARRAY_POP (*p_block_stack);
+ NOTE_BLOCK (insn) = VEC_pop (tree, *p_block_stack);
BLOCK_SUBBLOCKS (current_block)
= blocks_nreverse (BLOCK_SUBBLOCKS (current_block));
current_block = BLOCK_SUPERCONTEXT (current_block);