diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1998-06-15 16:32:00 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1998-06-15 16:32:00 +0000 |
commit | 3ac3da71e2fa29444d43da5240c4f1fac3dc00d3 (patch) | |
tree | cf4c49e6105cf3213849fa997601031f401757ad /gcc | |
parent | ddc8bed24878b3cf903c8c7cc3c753548701f23f (diff) | |
download | gcc-3ac3da71e2fa29444d43da5240c4f1fac3dc00d3.zip gcc-3ac3da71e2fa29444d43da5240c4f1fac3dc00d3.tar.gz gcc-3ac3da71e2fa29444d43da5240c4f1fac3dc00d3.tar.bz2 |
Reorder tests in last change for speed
From-SVN: r20513
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/regmove.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c index f932da8..9dd5833 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. */ |