From d3b9996a9873aede974b52497fad10fc8fad9b85 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Fri, 21 Aug 1992 17:40:27 +0000 Subject: [PATCH] (find_dummy_reload): Restore original RTX instead of passed IN rtx. From-SVN: r1928 --- gcc/reload.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/reload.c b/gcc/reload.c index ccaa4b71e37..38094237afe 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -1382,6 +1382,7 @@ find_dummy_reload (real_in, real_out, inloc, outloc, class, for_real) { register int regno = REGNO (out) + out_offset; int nwords = HARD_REGNO_NREGS (regno, GET_MODE (real_out)); + rtx saved_rtx; /* When we consider whether the insn uses OUT, ignore references within IN. They don't prevent us @@ -1392,6 +1393,7 @@ find_dummy_reload (real_in, real_out, inloc, outloc, class, for_real) 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. */ + saved_rtx = *inloc; *inloc = const0_rtx; if (regno < FIRST_PSEUDO_REGISTER @@ -1418,7 +1420,7 @@ find_dummy_reload (real_in, real_out, inloc, outloc, class, for_real) } } - *inloc = real_in; + *inloc = saved_rtx; } /* Consider using IN if OUT was not acceptable -- 2.30.2