Commit c6279378 by Ulrich Weigand Committed by Ulrich Weigand

* combine.c (combine_simplify_rtx): Fix RTL sharing bug.

From-SVN: r70778
parent 12ea3302
2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
* combine.c (combine_simplify_rtx): Fix RTL sharing bug.
2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
* pretty-print.h (pp_maybe_newline_and_indent): New macro. * pretty-print.h (pp_maybe_newline_and_indent): New macro.
......
...@@ -3636,9 +3636,11 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int last, ...@@ -3636,9 +3636,11 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int last,
return x; return x;
/* Simplify the alternative arms; this may collapse the true and /* Simplify the alternative arms; this may collapse the true and
false arms to store-flag values. */ false arms to store-flag values. Be careful to use copy_rtx
true_rtx = subst (true_rtx, pc_rtx, pc_rtx, 0, 0); here since true_rtx or false_rtx might share RTL with x as a
false_rtx = subst (false_rtx, pc_rtx, pc_rtx, 0, 0); result of the if_then_else_cond call above. */
true_rtx = subst (copy_rtx (true_rtx), pc_rtx, pc_rtx, 0, 0);
false_rtx = subst (copy_rtx (false_rtx), pc_rtx, pc_rtx, 0, 0);
/* If true_rtx and false_rtx are not general_operands, an if_then_else /* If true_rtx and false_rtx are not general_operands, an if_then_else
is unlikely to be simpler. */ is unlikely to be simpler. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment