aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-phiopt.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e237dc163d..74b4a425f54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
+ * tree-ssa-phiopt.c (conditional_replacement): Use the correct
+ type with the copy of the conditional.
+
+2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
+
PR tree-opt/16954
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Prevent renaming if the aliasing sets of the type which the
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index fe0fddf9345..e61e736f5a3 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -344,11 +344,11 @@ conditional_replacement (basic_block bb, tree phi, tree arg0, tree arg1)
if (!COMPARISON_CLASS_P (old_result))
return false;
- new1 = build (TREE_CODE (old_result), TREE_TYPE (result),
+ new1 = build (TREE_CODE (old_result), TREE_TYPE (old_result),
TREE_OPERAND (old_result, 0),
TREE_OPERAND (old_result, 1));
- new1 = build (MODIFY_EXPR, TREE_TYPE (result), new_var, new1);
+ new1 = build (MODIFY_EXPR, TREE_TYPE (old_result), new_var, new1);
bsi_insert_after (&bsi, new1, BSI_NEW_STMT);
}