diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-24 01:05:45 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-24 01:05:45 +0000 |
commit | cbbefea46e5a749a5182df5770cc70f30e12aa2e (patch) | |
tree | 152cb570bb5673abd6f3cb0e91129d27c8889d40 /gcc/tree-ssanames.c | |
parent | 1f63eb0c40acb3350bb371130e878bf7156266a7 (diff) | |
download | gcc-cbbefea46e5a749a5182df5770cc70f30e12aa2e.tar.gz |
PR tree-optimization/16688
PR tree-optimization/16689
* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
unnecessary initialization of 'tag'.
(get_tmt_for): Check that the new type tag has the same alias
set as the pointed-to type.
(group_aliases): Only regular variables need to be removed
from the alias set of a name tag.
* tree-ssa-copy.c (may_propagate_copy): Do not allow copy
propagation if the two types are not compatible.
(merge_alias_info): Rename from replace_ssa_names_ann.
Add more checking.
(replace_exp_1): If both arguments are SSA_NAMEs, check that
the propagation can be done.
Only call merge_alias_info on pointers.
(propagate_value): Likewise.
* tree-ssa-copyrename.c: Include langhooks.h.
(copy_rename_partition_coalesce): Call replace_ssa_name_symbol
to do the merging.
Do not coalesce variables with incompatible types.
(rename_ssa_copies): Call replace_ssa_name_symbol.
* tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
the same type as the underlying _DECL.
* tree-ssanames.c (replace_ssa_name_symbol): New function.
* tree.h (replace_ssa_name_symbol): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85108 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssanames.c')
-rw-r--r-- | gcc/tree-ssanames.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c index 2785e530b3c..4e8985a4b21 100644 --- a/gcc/tree-ssanames.c +++ b/gcc/tree-ssanames.c @@ -249,4 +249,14 @@ release_defs (tree stmt) release_ssa_name (V_MUST_DEF_OP (v_must_defs, i)); } + +/* Replace the symbol associated with SSA_NAME with SYM. */ + +void +replace_ssa_name_symbol (tree ssa_name, tree sym) +{ + SSA_NAME_VAR (ssa_name) = sym; + TREE_TYPE (ssa_name) = TREE_TYPE (sym); +} + #include "gt-tree-ssanames.h" |