mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-19 13:10:50 +08:00
(insert): Don't put a REG into qty_const.
From-SVN: r10607
This commit is contained in:
parent
de3cb7c346
commit
f353588ada
@ -1371,20 +1371,22 @@ insert (x, classp, hash, mode)
|
||||
update `qty_const_insn' to show that `this_insn' is the latest
|
||||
insn making that quantity equivalent to the constant. */
|
||||
|
||||
if (elt->is_const && classp && GET_CODE (classp->exp) == REG)
|
||||
if (elt->is_const && classp && GET_CODE (classp->exp) == REG
|
||||
&& GET_CODE (x) != REG)
|
||||
{
|
||||
qty_const[reg_qty[REGNO (classp->exp)]]
|
||||
= gen_lowpart_if_possible (qty_mode[reg_qty[REGNO (classp->exp)]], x);
|
||||
qty_const_insn[reg_qty[REGNO (classp->exp)]] = this_insn;
|
||||
}
|
||||
|
||||
else if (GET_CODE (x) == REG && classp && ! qty_const[reg_qty[REGNO (x)]])
|
||||
else if (GET_CODE (x) == REG && classp && ! qty_const[reg_qty[REGNO (x)]]
|
||||
&& ! elt->is_const)
|
||||
{
|
||||
register struct table_elt *p;
|
||||
|
||||
for (p = classp; p != 0; p = p->next_same_value)
|
||||
{
|
||||
if (p->is_const)
|
||||
if (p->is_const && GET_CODE (p->exp) != REG)
|
||||
{
|
||||
qty_const[reg_qty[REGNO (x)]]
|
||||
= gen_lowpart_if_possible (GET_MODE (x), p->exp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user