OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2006-11-22 Antony King <anthony.king@st.com>
[pf3gnuchains/gcc-fork.git]
/
gcc
/
tree-ssa-structalias.h
diff --git
a/gcc/tree-ssa-structalias.h
b/gcc/tree-ssa-structalias.h
index
ddabd6d
..
165e5c1
100644
(file)
--- 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
#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;
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. */
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. */
/* 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;
/* 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;
/* 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;
/* 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
};
/* 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. */
#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 *);
/* In tree-ssa-structalias.c. */
extern void compute_points_to_sets (struct alias_info *);