diff options
author | amacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-05 15:16:42 +0000 |
---|---|---|
committer | amacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-05 15:16:42 +0000 |
commit | ed542b9f3b29a441e9aac16d4fb39edf498b3b60 (patch) | |
tree | 182364a4d7933c18a0c9f487847c27928270bd71 /gcc/tree-ssa-opfinalize.h | |
parent | 8d2ef209cea4bf70fe441ea9d56473131930b449 (diff) | |
download | gcc-ed542b9f3b29a441e9aac16d4fb39edf498b3b60.tar.gz |
2005-10-05 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/18587
* tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
(build_defs, build_uses, build_v_may_defs, build_v_must_defs,
build_vuses): Change to VEC type.
(opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
(get_name_decl): New. Return DECL_UID of base variable.
(operand_build_cmp): New. qsort comparison routine.
(operand_build_sort_virtual): New. Sort virtual build vector.
(init_ssa_operands, fini_ssa_operands): Use VEC routines.
(FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
(FINALIZE_BASE): Use get_name_decl.
(finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
(start_ssa_stmt_operands, append_def, append_use, append_vuse,
append_v_may_def, append_v_must_def): Replace opbuild_* routines with
direct VEC_* manipulations.
(build_ssa_operands): Call operand_build_sort_virtual.
(copy_virtual_operand, create_ssa_artficial_load_stmt,
add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
with direct VEC_* manipulations.
* tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
with direct VEC manipulations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104996 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-opfinalize.h')
-rw-r--r-- | gcc/tree-ssa-opfinalize.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/tree-ssa-opfinalize.h b/gcc/tree-ssa-opfinalize.h index f58c93f3a19..cc48e9ed742 100644 --- a/gcc/tree-ssa-opfinalize.h +++ b/gcc/tree-ssa-opfinalize.h @@ -63,7 +63,7 @@ FINALIZE_ALLOC (void) static inline void FINALIZE_FUNC (tree stmt) { - int new_i; + unsigned new_i; FINALIZE_TYPE *old_ops, *ptr, *last; FINALIZE_BASE_TYPE old_base; FINALIZE_TYPE new_list; @@ -77,8 +77,8 @@ FINALIZE_FUNC (tree stmt) else old_base = FINALIZE_BASE_ZERO; - new_i = opbuild_first (&FINALIZE_OPBUILD); - while (old_ops && new_i != OPBUILD_LAST) + new_i = 0; + while (old_ops && new_i < VEC_length (tree, FINALIZE_OPBUILD)) { FINALIZE_BASE_TYPE new_base = FINALIZE_OPBUILD_BASE (new_i); if (old_base == new_base) @@ -90,7 +90,7 @@ FINALIZE_FUNC (tree stmt) FINALIZE_CORRECT_USE (FINALIZE_USE_PTR (last), stmt); #endif old_ops = old_ops->next; - new_i = opbuild_next (&FINALIZE_OPBUILD, new_i); + new_i++; } else if (old_base < new_base) @@ -112,16 +112,14 @@ FINALIZE_FUNC (tree stmt) FINALIZE_INITIALIZE (ptr, FINALIZE_OPBUILD_ELEM (new_i), stmt); last->next = ptr; last = ptr; - new_i = opbuild_next (&FINALIZE_OPBUILD, new_i); + new_i++; } if (old_ops) old_base = FINALIZE_BASE (FINALIZE_ELEM (old_ops)); } /* If there is anything remaining in the opbuild list, simply emit them. */ - for ( ; - new_i != OPBUILD_LAST; - new_i = opbuild_next (&FINALIZE_OPBUILD, new_i)) + for ( ; new_i < VEC_length (tree, FINALIZE_OPBUILD); new_i++) { ptr = FINALIZE_ALLOC (); FINALIZE_INITIALIZE (ptr, FINALIZE_OPBUILD_ELEM (new_i), stmt); @@ -154,7 +152,7 @@ FINALIZE_FUNC (tree stmt) for (ptr = FINALIZE_OPS (stmt); ptr; ptr = ptr->next) x++; - gcc_assert (x == opbuild_num_elems (&FINALIZE_OPBUILD)); + gcc_assert (x == VEC_length (tree, FINALIZE_OPBUILD)); } #endif } |