re PR c/45054 (struct-by-value-1.c fail.)
PR c/45054 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing invariants. Check for reg_equiv_invariant. (reload): Assert that spilled_pseudos is empty when returning. From-SVN: r164733
This commit is contained in:
parent
2293974419
commit
907c53bbdf
|
@ -11,6 +11,11 @@
|
|||
costs_add_n_insns): New inline functions.
|
||||
(get_full_rtx_cost): Declare.
|
||||
|
||||
PR c/45054
|
||||
* reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
|
||||
invariants. Check for reg_equiv_invariant.
|
||||
(reload): Assert that spilled_pseudos is empty when returning.
|
||||
|
||||
2010-09-29 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* config/i386/mingw32.h (TARGET_64BIT): replaced by
|
||||
|
|
|
@ -588,7 +588,7 @@ replace_pseudos_in (rtx *loc, enum machine_mode mem_mode, rtx usage)
|
|||
if (regno < FIRST_PSEUDO_REGISTER)
|
||||
return;
|
||||
|
||||
x = eliminate_regs (x, mem_mode, usage);
|
||||
x = eliminate_regs_1 (x, mem_mode, usage, true, false);
|
||||
if (x != *loc)
|
||||
{
|
||||
*loc = x;
|
||||
|
@ -598,6 +598,8 @@ replace_pseudos_in (rtx *loc, enum machine_mode mem_mode, rtx usage)
|
|||
|
||||
if (reg_equiv_constant[regno])
|
||||
*loc = reg_equiv_constant[regno];
|
||||
else if (reg_equiv_invariant[regno])
|
||||
*loc = reg_equiv_invariant[regno];
|
||||
else if (reg_equiv_mem[regno])
|
||||
*loc = reg_equiv_mem[regno];
|
||||
else if (reg_equiv_address[regno])
|
||||
|
@ -1316,6 +1318,8 @@ reload (rtx first, int global)
|
|||
|
||||
VEC_free (rtx_p, heap, substitute_stack);
|
||||
|
||||
gcc_assert (bitmap_empty_p (&spilled_pseudos));
|
||||
|
||||
return failure;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue