summaryrefslogtreecommitdiff
path: root/gcc/regmove.c
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-15 16:32:00 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-15 16:32:00 +0000
commit39e8e501b0fa333b43f0cba1aa4464804181a285 (patch)
treecf4c49e6105cf3213849fa997601031f401757ad /gcc/regmove.c
parent2f08c02a55d38823e2a186da437c48807aa56553 (diff)
downloadgcc-39e8e501b0fa333b43f0cba1aa4464804181a285.tar.gz
Reorder tests in last change for speed
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20513 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r--gcc/regmove.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c
index f932da8417d..9dd58337895 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -560,11 +560,12 @@ copy_src_to_dest (insn, src, dest, loop_depth)
parameter when there is no frame pointer that is not allocated a register.
For now, we just reject them, rather than incrementing the live length. */
- if (GET_CODE (src) == REG && GET_CODE (dest) == REG
+ if (GET_CODE (src) == REG
+ && REG_LIVE_LENGTH (REGNO (src)) > 0
+ && GET_CODE (dest) == REG
+ && REG_LIVE_LENGTH (REGNO (dest)) > 0
&& (set = single_set (insn)) != NULL_RTX
&& !reg_mentioned_p (dest, SET_SRC (set))
- && REG_LIVE_LENGTH (REGNO (dest)) > 0
- && REG_LIVE_LENGTH (REGNO (src)) > 0
&& validate_replace_rtx (src, dest, insn))
{
/* Generate the src->dest move. */