reg-stack.c (convert_regs_1): Initialize target_stack->top after verifying an EH edge.

* reg-stack.c (convert_regs_1): Initialize target_stack->top
        after verifying an EH edge.

From-SVN: r30402
This commit is contained in:
Richard Henderson 1999-11-04 16:37:48 -08:00 committed by Richard Henderson
parent bd695e1e9d
commit a6028d444a
2 changed files with 11 additions and 5 deletions

View File

@ -1,4 +1,9 @@
Fri Nov 5 19:38:14 1999 Richard Henderson <rth@cygnus.com>
Thu Nov 4 16:36:44 1999 Richard Henderson <rth@cygnus.com>
* reg-stack.c (convert_regs_1): Initialize target_stack->top
after verifying an EH edge.
Thu Nov 4 16:36:36 1999 Richard Henderson <rth@cygnus.com>
* function.c (diddle_return_value): New.
(expand_function_end): Use it.

View File

@ -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