diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-18 18:21:23 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-18 18:21:23 +0000 |
commit | 76b883382f782f411cc529f126397e9fb99a0f45 (patch) | |
tree | 44097e1b0caa8eb28b72d009d6ad0158ac4c06a9 /gcc/tree-ssa.c | |
parent | 5d179ab5b1030e0a55da8403ba6e29bb54556e80 (diff) | |
download | gcc-76b883382f782f411cc529f126397e9fb99a0f45.tar.gz |
* tree-dfa.c (add_referenced_var): Only global variables are
call-clobbered.
* tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
* tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
all pointers dereferenced if the statement dereferences them.
(create_name_tags): Do not create memory tags for pointers
that have PT_ANYTHING set.
Also check if PT_VARS is not empty before creating a name tag.
(compute_flow_sensitive_aliasing): Don't mark call-clobbered
variables that share the same alias set with a pointer that
may point anywhere.
(add_may_alias): Add FIXME comment to remove clobbering
aliased variables and tags.
(replace_may_alias): Likewise.
(set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
(merge_pointed_to_info): If the original variable has not
points-to information, call set_pt_anything.
(add_pointed_to_var): Do not prevent adding a pointed-to
variable if the pointers is PT_ANYTHING.
If the variable is a global, set PT_GLOBAL_MEM.
(collect_points_to_info_r): Don't assume that PLUS_EXPRs of
pointer type only come in PTR+OFFSET flavours.
Always call merge_pointed_to_info on PHI arguments that are
SSA_NAMEs.
(get_nmt_for): Mark call-clobbered tags whose pointer points
to global memory.
* tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
values.
(get_indirect_ref_operands): Always clear OPF_KILL_DEF from
FLAGS.
(add_stmt_operand): Abort if the caller tried to add a killing
definition for a memory tag.
* tree-ssa.c (verify_flow_sensitive_alias_info): Remove
unnecessary checks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86198 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index eb6f9676617..743c0843366 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -433,18 +433,6 @@ verify_flow_sensitive_alias_info (void) goto err; } - if (pi->pt_anything && (pi->pt_malloc || pi->pt_vars)) - { - error ("Pointers that point to anything should not point to malloc or other vars"); - goto err; - } - - if (pi->pt_malloc && pi->pt_vars) - { - error ("Pointers pointing to malloc get a unique tag and cannot point to other vars"); - goto err; - } - if (pi->name_mem_tag && !pi->pt_malloc && (pi->pt_vars == NULL |