tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
* tree-ssa-dce.c (worklist): Change to VEC(tree,heap). (mark_stmt_necessary, propagate_necessity, mark_really_necessary_kill_operand_phis): Update uses of worklist. (tree_dce_init): Allocate worklist using VEC_alloc. (tree_dce_done): Free worklist using VEC_free. From-SVN: r98618
This commit is contained in:
parent
7df5a591b2
commit
906532aaa9
|
@ -7,6 +7,13 @@
|
|||
* tree-ssa-live.c (build_tree_conflict_graph): Allocate
|
||||
partition_link and tpa_nodes on heap.
|
||||
|
||||
* tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
|
||||
(mark_stmt_necessary, propagate_necessity,
|
||||
mark_really_necessary_kill_operand_phis): Update uses of
|
||||
worklist.
|
||||
(tree_dce_init): Allocate worklist using VEC_alloc.
|
||||
(tree_dce_done): Free worklist using VEC_free.
|
||||
|
||||
2005-04-23 Mike Stump <mrs@apple.com>
|
||||
|
||||
* config/darwin.c (machopic_indirection_name): Don't use
|
||||
|
|
|
@ -74,7 +74,7 @@ static struct stmt_stats
|
|||
int removed_phis;
|
||||
} stats;
|
||||
|
||||
static varray_type worklist;
|
||||
static VEC(tree,heap) *worklist;
|
||||
|
||||
/* Vector indicating an SSA name has already been processed and marked
|
||||
as necessary. */
|
||||
|
@ -235,7 +235,7 @@ mark_stmt_necessary (tree stmt, bool add_to_worklist)
|
|||
|
||||
NECESSARY (stmt) = 1;
|
||||
if (add_to_worklist)
|
||||
VARRAY_PUSH_TREE (worklist, stmt);
|
||||
VEC_safe_push (tree, heap, worklist, stmt);
|
||||
}
|
||||
|
||||
/* Mark the statement defining operand OP as necessary. PHIONLY is true
|
||||
|
@ -263,7 +263,7 @@ mark_operand_necessary (tree op, bool phionly)
|
|||
return;
|
||||
|
||||
NECESSARY (stmt) = 1;
|
||||
VARRAY_PUSH_TREE (worklist, stmt);
|
||||
VEC_safe_push (tree, heap, worklist, stmt);
|
||||
}
|
||||
|
||||
|
||||
|
@ -472,11 +472,10 @@ propagate_necessity (struct edge_list *el)
|
|||
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||
fprintf (dump_file, "\nProcessing worklist:\n");
|
||||
|
||||
while (VARRAY_ACTIVE_SIZE (worklist) > 0)
|
||||
while (VEC_length (tree, worklist) > 0)
|
||||
{
|
||||
/* Take `i' from worklist. */
|
||||
i = VARRAY_TOP_TREE (worklist);
|
||||
VARRAY_POP (worklist);
|
||||
i = VEC_pop (tree, worklist);
|
||||
|
||||
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||
{
|
||||
|
@ -603,10 +602,9 @@ mark_really_necessary_kill_operand_phis (void)
|
|||
|
||||
/* Mark all virtual phis still in use as necessary, and all of their
|
||||
arguments that are phis as necessary. */
|
||||
while (VARRAY_ACTIVE_SIZE (worklist) > 0)
|
||||
while (VEC_length (tree, worklist) > 0)
|
||||
{
|
||||
tree use = VARRAY_TOP_TREE (worklist);
|
||||
VARRAY_POP (worklist);
|
||||
tree use = VEC_pop (tree, worklist);
|
||||
|
||||
for (i = 0; i < PHI_NUM_ARGS (use); i++)
|
||||
mark_operand_necessary (PHI_ARG_DEF (use, i), true);
|
||||
|
@ -827,7 +825,7 @@ tree_dce_init (bool aggressive)
|
|||
processed = sbitmap_alloc (num_ssa_names + 1);
|
||||
sbitmap_zero (processed);
|
||||
|
||||
VARRAY_TREE_INIT (worklist, 64, "work list");
|
||||
worklist = VEC_alloc (tree, heap, 64);
|
||||
}
|
||||
|
||||
/* Cleanup after this pass. */
|
||||
|
@ -848,6 +846,8 @@ tree_dce_done (bool aggressive)
|
|||
}
|
||||
|
||||
sbitmap_free (processed);
|
||||
|
||||
VEC_free (tree, heap, worklist);
|
||||
}
|
||||
|
||||
/* Main routine to eliminate dead code.
|
||||
|
|
Loading…
Reference in New Issue