summaryrefslogtreecommitdiff
path: root/gcc/tree-flow-inline.h
diff options
context:
space:
mode:
authoramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-11 17:50:47 +0000
committeramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-11 17:50:47 +0000
commit5b110d39bc55eb7238f71506c36d6b33b69a43ff (patch)
tree1be60ac2481dad8bdd3382083d1b9056fea5fdac /gcc/tree-flow-inline.h
parentfcd1625387a5e51d2ed2a21cabdd0b0efdb7ca97 (diff)
downloadgcc-5b110d39bc55eb7238f71506c36d6b33b69a43ff.tar.gz
2004-08-11 Andrew MacLeod <amacleod@redhat.com>
* tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops, get_vuse_ops,get_v_must_def_ops): Add operand structure reference. (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct. (start_ssa_stmt_operands): Delete. * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new struct stmt_operands_d. (build_ssa_operands): New extern entry point. * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand building code, replace with create_ssa_artficial_load_stmt(). * tree-ssa-operands.c (struct voperands_d): Delete. (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector. (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *). (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs): Remove dealloc parameter. (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete. (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand vector comparisons, ssa_name reuse, and allocations here. (verify_start_operands): Delete. (finalize_ssa_stmt_operands): Set new operands by calling finalize routines. (start_ssa_stmt_operands): Move from tree-flow-inline.h. (append_def, append_usei): Simplify to simple accumulation. (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding duplicates and simple accumulation. (free_ssa_operands): Free vectors in a stmt_operand structure. (build_ssa_operands): New. Create a new stmt_operand structure from a stmt and an old set of stmt_operands. (get_stmt_operands): Simplify and call build_ssa_operands. (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands, get_call_expr_operands, add_stmt_operand, add_call_clobber_ops, add_call_read_ops): Don't pass prev_vops around anymore. (note_addressable): Return if no stmt annotation. (copy_virtual_operands): Access v_may_def operands through a struct. (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's hash tables without treating the stmt as a real stmt. * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access v_may_def def and use through a struct instead of 2 array elements. (struct v_may_def_optype_d): Use v_may_def_operand_type. (struct stmt_operands_d): New. Struct for storing all operand vectors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85807 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-flow-inline.h')
-rw-r--r--gcc/tree-flow-inline.h23
1 files changed, 7 insertions, 16 deletions
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index 97d56d8a6e7..d3e0a32dbad 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -169,7 +169,7 @@ stmt_modified_p (tree t)
static inline def_optype
get_def_ops (stmt_ann_t ann)
{
- return ann ? ann->def_ops : NULL;
+ return ann ? ann->operands.def_ops : NULL;
}
/* Return the uses present in ANN, a statement annotation.
@@ -177,7 +177,7 @@ get_def_ops (stmt_ann_t ann)
static inline use_optype
get_use_ops (stmt_ann_t ann)
{
- return ann ? ann->use_ops : NULL;
+ return ann ? ann->operands.use_ops : NULL;
}
/* Return the virtual may-defs present in ANN, a statement
@@ -186,7 +186,7 @@ get_use_ops (stmt_ann_t ann)
static inline v_may_def_optype
get_v_may_def_ops (stmt_ann_t ann)
{
- return ann ? ann->v_may_def_ops : NULL;
+ return ann ? ann->operands.v_may_def_ops : NULL;
}
/* Return the virtual uses present in ANN, a statement annotation.
@@ -194,7 +194,7 @@ get_v_may_def_ops (stmt_ann_t ann)
static inline vuse_optype
get_vuse_ops (stmt_ann_t ann)
{
- return ann ? ann->vuse_ops : NULL;
+ return ann ? ann->operands.vuse_ops : NULL;
}
/* Return the virtual must-defs present in ANN, a statement
@@ -202,7 +202,7 @@ get_vuse_ops (stmt_ann_t ann)
static inline v_must_def_optype
get_v_must_def_ops (stmt_ann_t ann)
{
- return ann ? ann->v_must_def_ops : NULL;
+ return ann ? ann->operands.v_must_def_ops : NULL;
}
/* Return the tree pointer to by USE. */
@@ -252,7 +252,7 @@ get_v_may_def_result_ptr(v_may_def_optype v_may_defs, unsigned int index)
if (index >= v_may_defs->num_v_may_defs)
abort();
#endif
- op.def = &(v_may_defs->v_may_defs[index * 2]);
+ op.def = &(v_may_defs->v_may_defs[index].def);
return op;
}
@@ -266,7 +266,7 @@ get_v_may_def_op_ptr(v_may_def_optype v_may_defs, unsigned int index)
if (index >= v_may_defs->num_v_may_defs)
abort();
#endif
- op.use = &(v_may_defs->v_may_defs[index * 2 + 1]);
+ op.use = &(v_may_defs->v_may_defs[index].use);
return op;
}
@@ -315,15 +315,6 @@ get_phi_arg_def_ptr (tree phi, int i)
return op;
}
-/* Mark the beginning of changes to the SSA operands for STMT. */
-static inline void
-start_ssa_stmt_operands (tree stmt ATTRIBUTE_UNUSED)
-{
-#ifdef ENABLE_CHECKING
- verify_start_operands (stmt);
-#endif
-}
-
/* Return the bitmap of addresses taken by STMT, or NULL if it takes
no addresses. */
static inline bitmap