+2003-05-27 Denis Chertykov <denisc@overta.ru>
+
+ * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
+ VOIDmode.
+ * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
+ call of cselib_invalidate_regno.
+
2003-05-28 Daniel Jacobowitz <drow@mvista.com>
* config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
pseudos, only REGNO is affected. For hard regs, we must take MODE
into account, and we must also invalidate lower register numbers
if they contain values that overlap REGNO. */
- if (regno < FIRST_PSEUDO_REGISTER && mode != VOIDmode)
+ if (regno < FIRST_PSEUDO_REGISTER)
{
+ if (mode == VOIDmode)
+ abort ();
+
if (regno < max_value_regs)
i = 0;
else
{
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
if (call_used_regs[i])
- cselib_invalidate_regno (i, VOIDmode);
+ cselib_invalidate_regno (i, reg_raw_mode[i]);
if (! CONST_OR_PURE_CALL_P (insn))
cselib_invalidate_mem (callmem);