From: Richard Kenner Date: Wed, 31 Mar 1993 12:00:31 +0000 (-0500) Subject: (insert_regs): If a REG already is in a class but not in the mode we X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1ff0c00d9f3d9eb2f6e4143c9c3daba4ff3c1d07;p=gcc.git (insert_regs): If a REG already is in a class but not in the mode we want, don't do anything to the classes. From-SVN: r3951 --- diff --git a/gcc/cse.c b/gcc/cse.c index 44042471278..a2aac9447fc 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -984,9 +984,14 @@ insert_regs (x, classp, modified) { register int regno = REGNO (x); - if (modified - || ! (REGNO_QTY_VALID_P (regno) - && qty_mode[reg_qty[regno]] == GET_MODE (x))) + /* If REGNO is in the equivalence table already but is of the + wrong mode for that equivalence, don't do anything here. */ + + if (REGNO_QTY_VALID_P (regno) + && qty_mode[reg_qty[regno]] != GET_MODE (x)) + return 0; + + if (modified || ! REGNO_QTY_VALID_P (regno)) { if (classp) for (classp = classp->first_same_value;