(subst_constant): Don't treat all virtual regs as constants, just
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 2 Dec 1994 23:09:21 +0000 (18:09 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 2 Dec 1994 23:09:21 +0000 (18:09 -0500)
those that are off FP and AP, but not SP.

From-SVN: r8600

gcc/integrate.c

index 6af0cf6293f4c466681012626f6f0178d12df4bd..a4193502c6b9f3fc193d889d9359606a0dd178bd 100644 (file)
@@ -2616,12 +2616,12 @@ subst_constants (loc, insn, map)
        if ((map->num_sets < MAX_RECOG_OPERANDS)
            && (CONSTANT_P (src)
                || (GET_CODE (src) == REG
-                   && REGNO (src) >= FIRST_VIRTUAL_REGISTER
-                   && REGNO (src) <= LAST_VIRTUAL_REGISTER)
+                   && (REGNO (src) == VIRTUAL_INCOMING_ARGS_REGNUM
+                       || REGNO (src) == VIRTUAL_STACK_VARS_REGNUM))
                || (GET_CODE (src) == PLUS
                    && GET_CODE (XEXP (src, 0)) == REG
-                   && REGNO (XEXP (src, 0)) >= FIRST_VIRTUAL_REGISTER
-                   && REGNO (XEXP (src, 0)) <= LAST_VIRTUAL_REGISTER
+                   && (REGNO (XEXP (src, 0)) == VIRTUAL_INCOMING_ARGS_REGNUM
+                       || REGNO (XEXP (src, 0)) == VIRTUAL_STACK_VARS_REGNUM)
                    && CONSTANT_P (XEXP (src, 1)))
                || GET_CODE (src) == COMPARE
 #ifdef HAVE_cc0