From d6fd4b8d1160a795f3f20ca3007bea78290c5415 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Mon, 20 Sep 2004 15:45:21 +0000 Subject: [PATCH] tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid generating useless garbage. 2004-09-20 Daniel Berlin * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid generating useless garbage. From-SVN: r87760 --- gcc/ChangeLog | 5 +++++ gcc/tree-ssa-pre.c | 19 +++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a28aa24c40..69fd9328f39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-20 Daniel Berlin + + * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid + generating useless garbage. + 2004-09-20 Paolo Bonzini * builtins.c (fold_builtin): Call the new omonymous diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 43257bc1093..2c9b4ee5c5c 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -510,8 +510,10 @@ bitmap_insert_into_set (bitmap_set_t set, tree expr) gcc_assert (val); if (!is_gimple_min_invariant (val)) + { bitmap_set_bit (set->values, VALUE_HANDLE_ID (val)); - bitmap_set_bit (set->expressions, SSA_NAME_VERSION (expr)); + bitmap_set_bit (set->expressions, SSA_NAME_VERSION (expr)); + } } /* Insert EXPR into SET. */ @@ -1098,6 +1100,8 @@ clean (value_set_t set) } } +DEF_VEC_MALLOC_P (basic_block); + /* Compute the ANTIC set for BLOCK. ANTIC_OUT[BLOCK] = intersection of ANTIC_IN[b] for all succ(BLOCK), if @@ -1164,24 +1168,23 @@ compute_antic_aux (basic_block block) them. */ else { - varray_type worklist; + VEC (basic_block) * worklist; edge e; size_t i; basic_block bprime, first; - VARRAY_BB_INIT (worklist, 1, "succ"); + worklist = VEC_alloc (basic_block, 2); e = block->succ; while (e) { - VARRAY_PUSH_BB (worklist, e->dest); + VEC_safe_push (basic_block, worklist, e->dest); e = e->succ_next; } - first = VARRAY_BB (worklist, 0); + first = VEC_index (basic_block, worklist, 0); set_copy (ANTIC_OUT, ANTIC_IN (first)); - for (i = 1; i < VARRAY_ACTIVE_SIZE (worklist); i++) + for (i = 1; VEC_iterate (basic_block, worklist, i, bprime); i++) { - bprime = VARRAY_BB (worklist, i); node = ANTIC_OUT->head; while (node) { @@ -1193,7 +1196,7 @@ compute_antic_aux (basic_block block) node = next; } } - VARRAY_CLEAR (worklist); + VEC_free (basic_block, worklist); } /* Generate ANTIC_OUT - TMP_GEN */ -- 2.30.2