diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-phiopt.c | 4 |
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); } |