From e0971cae02e1c252ec8ddd99ba9bd270de60b021 Mon Sep 17 00:00:00 2001 From: rth Date: Fri, 5 Nov 1999 00:37:48 +0000 Subject: [PATCH] * reg-stack.c (convert_regs_1): Initialize target_stack->top after verifying an EH edge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30402 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 ++++++- gcc/reg-stack.c | 9 +++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 145a329..ccaede9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -Fri Nov 5 19:38:14 1999 Richard Henderson +Thu Nov 4 16:36:44 1999 Richard Henderson + + * reg-stack.c (convert_regs_1): Initialize target_stack->top + after verifying an EH edge. + +Thu Nov 4 16:36:36 1999 Richard Henderson * function.c (diddle_return_value): New. (expand_function_end): Use it. diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 4efaea1..ec7d069 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -2546,15 +2546,16 @@ convert_regs_1 (file, block) HARD_REG_SET tmp; CLEAR_HARD_REG_SET (tmp); - GO_IF_HARD_REG_EQUAL (BLOCK_INFO (e->dest)->stack_in.reg_set, - tmp, eh1); + GO_IF_HARD_REG_EQUAL (target_stack->reg_set, tmp, eh1); abort(); eh1: SET_HARD_REG_BIT (tmp, FIRST_STACK_REG); - GO_IF_HARD_REG_EQUAL (BLOCK_INFO (e->src)->out_reg_set, tmp, eh2); + GO_IF_HARD_REG_EQUAL (regstack.reg_set, tmp, eh2); abort(); - eh2:; + eh2: + + target_stack->top = -1; } /* It is better to output directly to the end of the block -- 2.7.4