cselib.c (cselib_invalidate_regno): Abort if hardreg have a VOIDmode.

* 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.

From-SVN: r67210
This commit is contained in:
Denis Chertykov 2003-05-28 19:18:29 +00:00 committed by Denis Chertykov
parent afc2b62dae
commit 291aac59a5
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,10 @@
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

View File

@ -1019,8 +1019,11 @@ cselib_invalidate_regno (regno, mode)
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
@ -1427,7 +1430,7 @@ cselib_process_insn (insn)
{
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);