From 6214d5c7e7470bdd5ecbeae668c2522551bfebbc Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 29 Aug 2018 14:12:25 +0000 Subject: tree-core.h: Document use of deprecated_flag in SSA_NAME. 2018-08-29 Richard Biener * tree-core.h: Document use of deprecated_flag in SSA_NAME. * tree.h (SSA_NAME_POINTS_TO_READONLY_MEMORY): Define. * tree-into-ssa.c (pass_build_ssa::execute): Initialize function parameters SSA_NAME_POINTS_TO_READONLY_MEMORY from fnspec. * tree-ssa-sccvn.c (const_parms, init_const_parms): Remove. (vn_reference_lookup_3): Remove use of const_parms. (free_rpo_vn): Do not free const_parms. (do_rpo_vn): Do not call init_const_parms. * tree-ssa-alias.c (refs_may_alias_p_1): Honor SSA_NAME_POINTS_TO_READONLY_MEMORY. (call_may_clobber_ref_p_1): Likewise. From-SVN: r263958 --- gcc/tree.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/tree.h') diff --git a/gcc/tree.h b/gcc/tree.h index 562a88b..4f415b7a 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1743,6 +1743,13 @@ extern tree maybe_wrap_with_location (tree, location_t); #define SSA_NAME_IS_DEFAULT_DEF(NODE) \ SSA_NAME_CHECK (NODE)->base.default_def_flag +/* Nonzero if this SSA_NAME is known to point to memory that may not + be written to. This is set for default defs of function parameters + that have a corresponding r or R specification in the functions + fn spec attribute. This is used by alias analysis. */ +#define SSA_NAME_POINTS_TO_READONLY_MEMORY(NODE) \ + SSA_NAME_CHECK (NODE)->base.deprecated_flag + /* Attributes for SSA_NAMEs for pointer-type variables. */ #define SSA_NAME_PTR_INFO(N) \ SSA_NAME_CHECK (N)->ssa_name.info.ptr_info -- cgit v1.1