From c285f57a299b0bb73d929bd68c0a083deaebd5d8 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sun, 28 Nov 1999 09:08:02 +0100 Subject: [PATCH] combine.c (setup_incoming_promotions): Pass an outgoing regno to FUNCTION_ARG_REGNO_P which it expects. * combine.c (setup_incoming_promotions): Pass an outgoing regno to FUNCTION_ARG_REGNO_P which it expects. From-SVN: r30685 --- gcc/ChangeLog | 5 +++++ gcc/combine.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ec82b69d3d..1dbf3127b0c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-11-28 Jakub Jelinek + + * combine.c (setup_incoming_promotions): Pass an outgoing + regno to FUNCTION_ARG_REGNO_P which it expects. + 1999-11-28 Andreas Jaeger * mips/linux.h (CPP_PREDEFINES): Undefine before redefining. diff --git a/gcc/combine.c b/gcc/combine.c index d028a93f9dc..8f14d7df927 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -768,8 +768,14 @@ setup_incoming_promotions () int unsignedp; rtx first = get_insns (); +#ifndef OUTGOING_REGNO +#define OUTGOING_REGNO(N) N +#endif for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) - if (FUNCTION_ARG_REGNO_P (regno) + /* Check whether this register can hold an incoming pointer + argument. FUNCTION_ARG_REGNO_P tests outgoing register + numbers, so translate if necessary due to register windows. */ + if (FUNCTION_ARG_REGNO_P (OUTGOING_REGNO (regno)) && (reg = promoted_input_arg (regno, &mode, &unsignedp)) != 0) { record_value_for_reg -- 2.30.2