aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-alias.c2
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));
}