From cde43acdba16efdb6e4e4488ec19e4106b5396c7 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Fri, 14 Sep 2012 17:08:42 +0000 Subject: [PATCH] Temporarily revert previous From-SVN: r191306 --- gcc/ChangeLog | 5 ----- gcc/reload.c | 10 ++-------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbe531ad86f3..847b12089d97 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 2e41ed6498e6..f4f3ed03d859 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)