summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-copyrename.c4
-rw-r--r--gcc/tree-ssa-live.c3
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc837ce96f1..a74aa20fc77 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+ Check for arificial variables, not is_gimple_tmp_var.
+ * tree-ssa-live.c (var_union): Likewise.
+
2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
* calls.c (load_register_parameters): Remove spurious FIXME token.
diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c
index 2fd87e2214b..74667f8bc61 100644
--- a/gcc/tree-ssa-copyrename.c
+++ b/gcc/tree-ssa-copyrename.c
@@ -195,8 +195,8 @@ copy_rename_partition_coalesce (var_map map, tree var1, tree var2, FILE *debug)
return;
}
- gimp1 = is_gimple_tmp_var (root1);
- gimp2 = is_gimple_tmp_var (root2);
+ gimp1 = (TREE_CODE (root1) == VAR_DECL && DECL_ARTIFICIAL (root1));
+ gimp2 = (TREE_CODE (root2) == VAR_DECL && DECL_ARTIFICIAL (root2));
/* Never attempt to coalesce 2 user variables unless one is an inline
variable. */
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index bd5e8fb22ae..95b1834453c 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -135,7 +135,8 @@ var_union (var_map map, tree var1, tree var2)
/* If there is no root_var set, or its not a user variable, set the
root_var to this one. */
- if (!root_var || is_gimple_tmp_var (root_var))
+ if (!root_var
+ || (TREE_CODE (root_var) == VAR_DECL && DECL_ARTIFICIAL (root_var)))
{
other_var = root_var;
root_var = var2;