regmove.c (regmove_optimize): Suppress the optimization for unchanging destination register.

* regmove.c (regmove_optimize): Suppress the optimization for
	unchanging destination register.  Add comment above function.

From-SVN: r41974
This commit is contained in:
Jakub Jelinek 2001-05-11 22:08:04 +02:00 committed by Jakub Jelinek
parent fecd6201e6
commit 3721581af1
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2001-05-11 Jakub Jelinek <jakub@redhat.com>
* regmove.c (regmove_optimize): Suppress the optimization for
unchanging destination register. Add comment above function.
2001-05-11 Zack Weinberg <zackw@stanford.edu>
* Makefile.in: Exterminate all references to assert.h.

View File

@ -1060,6 +1060,12 @@ fixup_match_2 (insn, dst, src, offset, regmove_dump_file)
return 0;
}
/* Main entry for the register move optimization.
F is the first instruction.
NREGS is one plus the highest pseudo-reg number used in the instruction.
REGMOVE_DUMP_FILE is a stream for output of a trace of actions taken
(or 0 if none should be output). */
void
regmove_optimize (f, nregs, regmove_dump_file)
rtx f;
@ -1282,7 +1288,8 @@ regmove_optimize (f, nregs, regmove_dump_file)
if (GET_CODE (dst) != REG
|| REGNO (dst) < FIRST_PSEUDO_REGISTER
|| REG_LIVE_LENGTH (REGNO (dst)) < 0)
|| REG_LIVE_LENGTH (REGNO (dst)) < 0
|| RTX_UNCHANGING_P (dst))
continue;
/* If the operands already match, then there is nothing to do. */