re PR rtl-optimization/22053 (ACATS ICE cxg2002 cxg2008 cxg2019 cxg2020 cxg2021 compensate_edge, at reg-stack.c:2671)
PR rtl-optimization/22053 * reg-stack.c (compensate_edge): Correct mistake in the assertion checking of EDGE_ABNORMAL_CALL edges; complex return values can result in the top two stack slots, st(0) and st(1), being live. From-SVN: r100926
This commit is contained in:
parent
ad1f3d7a34
commit
6f7e2c0c96
@ -1,3 +1,10 @@
|
||||
2005-06-13 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR rtl-optimization/22053
|
||||
* reg-stack.c (compensate_edge): Correct mistake in the assertion
|
||||
checking of EDGE_ABNORMAL_CALL edges; complex return values can
|
||||
result in the top two stack slots, st(0) and st(1), being live.
|
||||
|
||||
2005-06-13 Jeff Law <law@redhat.com>
|
||||
|
||||
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): No longer
|
||||
|
@ -2667,8 +2667,9 @@ compensate_edge (edge e, FILE *file)
|
||||
{
|
||||
/* Assert that the lifetimes are as we expect -- one value
|
||||
live at st(0) on the end of the source block, and no
|
||||
values live at the beginning of the destination block. */
|
||||
gcc_assert (source_stack->top == 0);
|
||||
values live at the beginning of the destination block.
|
||||
For complex return values, we may have st(1) live as well. */
|
||||
gcc_assert (source_stack->top == 0 || source_stack->top == 1);
|
||||
gcc_assert (target_stack->top == -1);
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user