diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2006-05-25 14:11:36 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2006-05-25 14:11:36 +0000 |
commit | 05a58ad48d4bad7dff39cc2c2b5263bbb89cab38 (patch) | |
tree | cd992f56010b4612bd7ca96d7b77a5d5b92fcc04 /gcc/tree-ssa-structalias.h | |
parent | e803fecc5200c7d08c5079142c44d1b77b7bdcf1 (diff) | |
download | gcc-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.h | 6 |
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 |