diff options
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r-- | gcc/regmove.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c index 29f6e6546b6..8dc2d54a674 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -616,10 +616,10 @@ copy_src_to_dest (rtx insn, rtx src, rtx dest) int src_regno; int dest_regno; - /* A REG_LIVE_LENGTH of -1 indicates the register is equivalent to a constant - or memory location and is used infrequently; a REG_LIVE_LENGTH of -2 is - 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. */ + /* A REG_LIVE_LENGTH of -1 indicates the register must not go into + a hard register, e.g. because it crosses as setjmp. See the + comment in regstat.c:regstat_bb_compute_ri. Don't try to apply + any transformations to such regs. */ if (REG_P (src) && REG_LIVE_LENGTH (REGNO (src)) > 0 |