Commit 45b1f7c7 by Chris Lattner Committed by Jeff Law

ssa.c (rename_insn_1): Rename uses of undefined registers to prevent confusion if/when...

        * ssa.c (rename_insn_1): Rename uses of undefined registers to
        prevent confusion if/when the register is defined.

From-SVN: r54002
parent 049746c2
2002-05-29 Chris Lattner <sabre@nondot.org>
* ssa.c (rename_insn_1): Rename uses of undefined registers to
prevent confusion if/when the register is defined.
2002-05-29 Hans-Peter Nilsson <hp@axis.com> 2002-05-29 Hans-Peter Nilsson <hp@axis.com>
PR target/6838 PR target/6838
......
...@@ -916,18 +916,26 @@ rename_insn_1 (ptr, data) ...@@ -916,18 +916,26 @@ rename_insn_1 (ptr, data)
} }
case REG: case REG:
if (CONVERT_REGISTER_TO_SSA_P (REGNO (x)) && if (CONVERT_REGISTER_TO_SSA_P (REGNO (x))
REGNO (x) < ssa_max_reg_num) && REGNO (x) < ssa_max_reg_num)
{ {
rtx new_reg = ssa_rename_to_lookup (x); rtx new_reg = ssa_rename_to_lookup (x);
if (new_reg != NULL_RTX && new_reg != RENAME_NO_RTX) if (new_reg != RENAME_NO_RTX)
{ {
if (GET_MODE (x) != GET_MODE (new_reg)) if (new_reg != NULL_RTX)
abort (); {
*ptr = new_reg; if (GET_MODE (x) != GET_MODE (new_reg))
abort ();
*ptr = new_reg;
}
else
{
/* Undefined value used, rename it to a new pseudo register so
that it cannot conflict with an existing register */
*ptr = gen_reg_rtx (GET_MODE(x));
}
} }
/* Else this is a use before a set. Warn? */
} }
return -1; return -1;
......
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