diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2005-11-08 16:34:48 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2005-11-08 16:34:48 +0000 |
commit | 973162ec9dd144e6637a9fc775c3e9ce308b054c (patch) | |
tree | b44d278762551161178f033b428dfde8fea6c404 /gcc/tree-flow.h | |
parent | e5f51638541b06c1f10707c89a9699419eb77933 (diff) | |
download | gcc-973162ec9dd144e6637a9fc775c3e9ce308b054c.zip gcc-973162ec9dd144e6637a9fc775c3e9ce308b054c.tar.gz gcc-973162ec9dd144e6637a9fc775c3e9ce308b054c.tar.bz2 |
re PR tree-optimization/23382 (Does not remove the old HEAP virtual variables in clobbered)
2005-11-08 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/23382
* tree-ssa-alias.c (compute_may_aliases): Call
delete_old_heap_vars.
* tree-dfa.c (referenced_var_remove): New function.
* tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
* tree-flow.h (referenced_var_remove): Add prototype.
(delete_old_heap_vars): Ditto.
* tree-ssa-structalias.c (heapvars): New variable.
(oldheapvars): Ditto.
(get_constraint_for): Put heap vars on heapvars list.
(delete_old_heap_vars): New function.
From-SVN: r106643
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 389ec8f..b61b357 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -423,6 +423,7 @@ extern GTY((param_is (struct int_tree_map))) htab_t referenced_vars; extern tree referenced_var_lookup (unsigned int); extern tree referenced_var_lookup_if_exists (unsigned int); +extern void referenced_var_remove (tree); #define num_referenced_vars htab_elements (referenced_vars) #define referenced_var(i) referenced_var_lookup (i) @@ -891,6 +892,7 @@ int push_fields_onto_fieldstack (tree, VEC(fieldoff_s,heap) **, HOST_WIDE_INT, bool *); void sort_fieldstack (VEC(fieldoff_s,heap) *); +void delete_old_heap_vars (void); #include "tree-flow-inline.h" #endif /* _TREE_FLOW_H */ |