aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@gcc.gnu.org>2012-09-14 17:08:42 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2012-09-14 17:08:42 +0000
commitcde43acdba16efdb6e4e4488ec19e4106b5396c7 (patch)
tree95a34b6ced24ac7d8b25b3d0768dbbb429f9ac2e /gcc
parent57132d23faff3f5e18d4773892070763bf6a89ca (diff)
downloadgcc-cde43acdba16efdb6e4e4488ec19e4106b5396c7.zip
gcc-cde43acdba16efdb6e4e4488ec19e4106b5396c7.tar.gz
gcc-cde43acdba16efdb6e4e4488ec19e4106b5396c7.tar.bz2
Temporarily revert previous
From-SVN: r191306
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload.c10
2 files changed, 2 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cbe531a..847b120 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,3 @@
-2012-09-14 Richard Earnshaw <rearnsha@arm.com>
-
- * 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 <ebotcazou@adacore.com>
PR rtl-optimization/44194
diff --git a/gcc/reload.c b/gcc/reload.c
index 2e41ed6..f4f3ed0 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)