Commit e088f04b by Joseph Myers Committed by Joseph Myers

jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset for…

jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset for unrepresentable subregs or treat them as...

	* jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset
	for unrepresentable subregs or treat them as equal to other regs
	or subregs with the same register number.

From-SVN: r138804
parent 6f371a2e
2008-08-06 Joseph Myers <joseph@codesourcery.com>
* jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset
for unrepresentable subregs or treat them as equal to other regs
or subregs with the same register number.
2008-08-06 Aldy Hernandez <aldyh@redhat.com>
PR middle-end/35432
......
......@@ -1552,12 +1552,22 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
if (reg_renumber[reg_x] >= 0)
{
if (!subreg_offset_representable_p (reg_renumber[reg_x],
GET_MODE (SUBREG_REG (x)),
byte_x,
GET_MODE (x)))
return 0;
reg_x = subreg_regno_offset (reg_renumber[reg_x],
GET_MODE (SUBREG_REG (x)),
byte_x,
GET_MODE (x));
byte_x = 0;
}
else if (!subreg_offset_representable_p (reg_x,
GET_MODE (SUBREG_REG (x)),
byte_x,
GET_MODE (x)))
return 0;
}
else
{
......@@ -1573,12 +1583,22 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
if (reg_renumber[reg_y] >= 0)
{
if (!subreg_offset_representable_p (reg_renumber[reg_y],
GET_MODE (SUBREG_REG (y)),
byte_y,
GET_MODE (y)))
return 0;
reg_y = subreg_regno_offset (reg_renumber[reg_y],
GET_MODE (SUBREG_REG (y)),
byte_y,
GET_MODE (y));
byte_y = 0;
}
else if (!subreg_offset_representable_p (reg_y,
GET_MODE (SUBREG_REG (y)),
byte_y,
GET_MODE (y)))
return 0;
}
else
{
......
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