The following patch fixes a few SPARC GCC testsuite regressions.
The patch was successfully bootstrapped on x86/x86-64.
Committed as rev. 184512.
2012-02-23 Vladimir Makarov <[email protected]>
* lra-eliminations.c (update_reg_eliminate): Make hard register
unallocatable when we make it a result of the elimination.
Index: lra-eliminations.c
===================================================================
--- lra-eliminations.c (revision 184177)
+++ lra-eliminations.c (working copy)
@@ -1103,6 +1103,9 @@ update_reg_eliminate (bitmap insns_with_
if (lra_dump_file != NULL)
fprintf (lra_dump_file, " Using elimination %d to %d now\n",
ep1->from, ep1->to);
+ /* Prevent the hard register into which we eliminate now
+ from the usage for pseudos. */
+ SET_HARD_REG_BIT (temp_hard_reg_set, ep1->to);
gcc_assert (ep1->previous_offset == 0);
ep1->previous_offset = ep->offset;
}