X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftree-ssa-structalias.h;h=165e5c1b1aef34074d9f3c489da6667184990132;hb=4e970fe40fcb363c66c7d513409dbff8e35c611c;hp=ddabd6d17996fcd325d1ea7377447cf1ba870ecb;hpb=260e7e1138194f75585448f45db9a45f64787de2;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-ssa-structalias.h b/gcc/tree-ssa-structalias.h index ddabd6d1799..165e5c1b1ae 100644 --- a/gcc/tree-ssa-structalias.h +++ b/gcc/tree-ssa-structalias.h @@ -22,6 +22,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #ifndef TREE_SSA_STRUCTALIAS_H #define TREE_SSA_STRUCTALIAS_H +/* True if the data pointed to by PTR can alias anything. */ +#define PTR_IS_REF_ALL(PTR) TYPE_REF_CAN_ALIAS_ALL (TREE_TYPE (PTR)) + struct constraint; typedef struct constraint *constraint_t; @@ -34,7 +37,7 @@ struct alias_info sbitmap ssa_names_visited; /* Array of SSA_NAME pointers processed by the points-to collector. */ - varray_type processed_ptrs; + VEC(tree,heap) *processed_ptrs; /* ADDRESSABLE_VARS contains all the global variables and locals that have had their address taken. */ @@ -52,11 +55,6 @@ struct alias_info /* Number of const/pure function calls found in the program. */ size_t num_pure_const_calls_found; - /* Array of counters to keep track of how many times each pointer has - been dereferenced in the program. This is used by the alias grouping - heuristic in compute_flow_insensitive_aliasing. */ - varray_type num_references; - /* Total number of virtual operands that will be needed to represent all the aliases of all the pointers found in the program. */ long total_alias_vops; @@ -69,6 +67,9 @@ struct alias_info /* Pointers that have been used in an indirect load operation. */ bitmap dereferenced_ptrs_load; + + /* Memory tag for all the PTR_IS_REF_ALL pointers. */ + tree ref_all_symbol_mem_tag; }; /* Keep track of how many times each pointer has been dereferenced in @@ -80,7 +81,7 @@ struct alias_info #define NUM_REFERENCES_SET(ANN, VAL) (ANN)->common.aux = (void*) ((void *)(VAL)) /* In tree-ssa-alias.c. */ -bool is_escape_site (tree, struct alias_info *); +enum escape_type is_escape_site (tree); /* In tree-ssa-structalias.c. */ extern void compute_points_to_sets (struct alias_info *);