diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-alias.c | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 505c99a..9899755 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2009-01-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/38745 + * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL + from special handling. + +2009-01-26 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/38745 * tree-ssa.c (execute_update_addresses_taken): Do not include variables that cannot possibly be a register in not_reg_needs. Do not clear TREE_ADDRESSABLE on vars that may not become diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 9ed242d..3c76fcd 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -2494,6 +2494,8 @@ update_alias_info_1 (gimple stmt, struct alias_info *ai) { tree var = get_base_address (lhs); if (DECL_P (var) + /* We are not going to mess with RESULT_DECL anyway. */ + && TREE_CODE (var) != RESULT_DECL && is_gimple_reg_type (TREE_TYPE (var))) bitmap_set_bit (gimple_addressable_vars (cfun), DECL_UID (var)); } |