From abb522465e90d57c54a95a0e52a59fab06712675 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 18 Jun 1996 07:12:49 -0400 Subject: (find_temp_slot_from_address): Check for overlap from BASE_OFFSET if X is PLUS of virtual_stack_vars_rtx and const. From-SVN: r12296 --- gcc/function.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index 27a01c1..009e23e 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1035,7 +1035,12 @@ find_temp_slot_from_address (x) if (! p->in_use) continue; else if (XEXP (p->slot, 0) == x - || p->address == x) + || p->address == x + || (GET_CODE (x) == PLUS + && XEXP (x, 0) == virtual_stack_vars_rtx + && GET_CODE (XEXP (x, 1)) == CONST_INT + && INTVAL (XEXP (x, 1)) >= p->base_offset + && INTVAL (XEXP (x, 1)) < p->base_offset + p->full_size)) return p; else if (p->address != 0 && GET_CODE (p->address) == EXPR_LIST) -- cgit v1.1