Mercurial > hg > CbC > CbC_gcc
diff gcc/tree-ssa-sccvn.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | b7f97abdc517 |
line wrap: on
line diff
--- a/gcc/tree-ssa-sccvn.h Sun Feb 07 18:28:00 2010 +0900 +++ b/gcc/tree-ssa-sccvn.h Fri Feb 12 23:39:51 2010 +0900 @@ -21,6 +21,10 @@ #ifndef TREE_SSA_SCCVN_H #define TREE_SSA_SCCVN_H +/* In tree-ssa-sccvn.c */ +bool expressions_equal_p (tree, tree); + + /* TOP of the VN lattice. */ extern tree VN_TOP; @@ -79,20 +83,21 @@ DEF_VEC_O(vn_reference_op_s); DEF_VEC_ALLOC_O(vn_reference_op_s, heap); -/* A reference operation in the hashtable is representation as a - collection of vuses, representing the memory state at the time of +/* A reference operation in the hashtable is representation as + the vuse, representing the memory state at the time of the operation, and a collection of operands that make up the addressing calculation. If two vn_reference_t's have the same set of operands, they access the same memory location. We also store - the resulting value number, and the hashcode. The vuses are - always stored in order sorted by ssa name version. */ + the resulting value number, and the hashcode. */ typedef struct vn_reference_s { /* Unique identifier that all expressions with the same value have. */ unsigned int value_id; hashval_t hashcode; - VEC (tree, gc) *vuses; + tree vuse; + alias_set_type set; + tree type; VEC (vn_reference_op_s, heap) *operands; tree result; } *vn_reference_t; @@ -174,14 +179,18 @@ vn_nary_op_t vn_nary_op_insert_pieces (unsigned int, enum tree_code, tree, tree, tree, tree, tree, tree, unsigned int); +void vn_reference_fold_indirect (VEC (vn_reference_op_s, heap) **, + unsigned int *); void copy_reference_ops_from_ref (tree, VEC(vn_reference_op_s, heap) **); void copy_reference_ops_from_call (gimple, VEC(vn_reference_op_s, heap) **); -tree vn_reference_lookup_pieces (VEC (tree, gc) *, +bool ao_ref_init_from_vn_reference (ao_ref *, alias_set_type, tree, + VEC (vn_reference_op_s, heap) *); +tree vn_reference_lookup_pieces (tree, alias_set_type, tree, VEC (vn_reference_op_s, heap) *, vn_reference_t *, bool); -tree vn_reference_lookup (tree, VEC (tree, gc) *, bool, vn_reference_t *); -vn_reference_t vn_reference_insert (tree, tree, VEC (tree, gc) *); -vn_reference_t vn_reference_insert_pieces (VEC (tree, gc) *, +tree vn_reference_lookup (tree, tree, bool, vn_reference_t *); +vn_reference_t vn_reference_insert (tree, tree, tree); +vn_reference_t vn_reference_insert_pieces (tree, alias_set_type, tree, VEC (vn_reference_op_s, heap) *, tree, unsigned int); @@ -195,5 +204,4 @@ unsigned int get_constant_value_id (tree); unsigned int get_or_alloc_constant_value_id (tree); bool value_id_constant_p (unsigned int); -VEC (tree, gc) *shared_vuses_from_stmt (gimple); #endif /* TREE_SSA_SCCVN_H */