diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbe531ad86f..847b12089d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,8 +1,3 @@ -2012-09-14 Richard Earnshaw - - * reload.c (find_dummy_reload): Don't use OUT as a reload reg - for IN if it overlaps a fixed register. - 2012-09-14 Eric Botcazou PR rtl-optimization/44194 diff --git a/gcc/reload.c b/gcc/reload.c index 2e41ed6498e..f4f3ed03d85 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2036,12 +2036,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc, However, we only ignore IN in its role as this reload. If the insn uses IN elsewhere and it contains OUT, that counts. We can't be sure it's the "same" operand - so it might not go through this reload. - - We also need to avoid using OUT if it, or part of it, is a - fixed register. Modifying such registers, even transiently, - may have undefined effects on the machine, such as modifying - the stack pointer. */ + so it might not go through this reload. */ saved_rtx = *inloc; *inloc = const0_rtx; @@ -2054,8 +2049,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc, for (i = 0; i < nwords; i++) if (! TEST_HARD_REG_BIT (reg_class_contents[(int) rclass], - regno + i) - || fixed_regs[regno + i]) + regno + i)) break; if (i == nwords)