Commit 3d489bc7 by Maxim Kuvyrkov Committed by Maxim Kuvyrkov

* gcse.c (hoist_code): Generate new pseudo for every new set insn.

From-SVN: r162591
parent ce4c0015
2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com> 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
* gcse.c (hoist_code): Generate new pseudo for every new set insn.
2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
PR rtl-optimization/40956 PR rtl-optimization/40956
PR target/42495 PR target/42495
PR middle-end/42574 PR middle-end/42574
......
...@@ -4581,8 +4581,12 @@ hoist_code (void) ...@@ -4581,8 +4581,12 @@ hoist_code (void)
/* Create a pseudo-reg to store the result of reaching /* Create a pseudo-reg to store the result of reaching
expressions into. Get the mode for the new pseudo expressions into. Get the mode for the new pseudo
from the mode of the original destination pseudo. */ from the mode of the original destination pseudo.
if (expr->reaching_reg == NULL)
It is important to use new pseudos whenever we
emit a set. This will allow reload to use
rematerialization for such registers. */
if (!insn_inserted_p)
expr->reaching_reg expr->reaching_reg
= gen_reg_rtx_and_attrs (SET_DEST (set)); = gen_reg_rtx_and_attrs (SET_DEST (set));
......
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