aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-12-02 18:09:21 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-12-02 18:09:21 -0500
commit83b93f40ff739b33969532e40836e45fda586665 (patch)
treef761c6415f0c5165b867a342d8d4adb3b399e91d
parentcb06d06aeec935b4838aaae779bd47e3529b7cd5 (diff)
downloadgcc-83b93f40ff739b33969532e40836e45fda586665.zip
gcc-83b93f40ff739b33969532e40836e45fda586665.tar.gz
gcc-83b93f40ff739b33969532e40836e45fda586665.tar.bz2
(subst_constant): Don't treat all virtual regs as constants, just
those that are off FP and AP, but not SP. From-SVN: r8600
-rw-r--r--gcc/integrate.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 6af0cf6..a419350 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -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