aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2006-05-25 14:11:36 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2006-05-25 14:11:36 +0000
commit05a58ad48d4bad7dff39cc2c2b5263bbb89cab38 (patch)
treecd992f56010b4612bd7ca96d7b77a5d5b92fcc04 /gcc/tree-ssa-structalias.h
parente803fecc5200c7d08c5079142c44d1b77b7bdcf1 (diff)
downloadgcc-05a58ad48d4bad7dff39cc2c2b5263bbb89cab38.zip
gcc-05a58ad48d4bad7dff39cc2c2b5263bbb89cab38.tar.gz
gcc-05a58ad48d4bad7dff39cc2c2b5263bbb89cab38.tar.bz2
tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
* tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro. (struct alias_info): Add new field ref_all_symbol_mem_tag. * tree-ssa-alias.c (compute_may_aliases): If the program contains ref-all pointers, run a finalization pass for them. (compute_flow_insensitive_aliasing): Skip ref-all pointers. (finalize_ref_all_pointers): New function. (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a regular pointer type to a ref-all pointer type. (get_tmt_for): Return the special memory tag for ref-all pointers. From-SVN: r114116
Diffstat (limited to 'gcc/tree-ssa-structalias.h')
-rw-r--r--gcc/tree-ssa-structalias.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-ssa-structalias.h b/gcc/tree-ssa-structalias.h
index 46fe0c1..5283202 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;
@@ -64,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