diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-07-08 10:07:30 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-07-08 11:07:30 +0100 |
commit | fe92fe26cd6d33388c3efd1ac230f3d59648e225 (patch) | |
tree | e698fdb48a1cc6b5ae3a47f644e586c796dc2ab1 /gcc/reload1.c | |
parent | a743d3409bfad8f04e8d695df736de5329e328e2 (diff) | |
download | gcc-fe92fe26cd6d33388c3efd1ac230f3d59648e225.zip gcc-fe92fe26cd6d33388c3efd1ac230f3d59648e225.tar.gz gcc-fe92fe26cd6d33388c3efd1ac230f3d59648e225.tar.bz2 |
reload1.c (choose_reload_regs): Never call remove_adress_replacements when reload_out equals reload_in.
* reload1.c (choose_reload_regs): Never call remove_adress_replacements
when reload_out equals reload_in.
From-SVN: r28008
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 123cbf5..24a37c5 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6297,13 +6297,12 @@ choose_reload_regs (chain) is mentioned in reload_in of the reload we are going to inherit. A special case are auto_inc expressions; even if the input is inherited, we still need the address for the output. We can - recognize them because they have RELOAD_OUT set but not - RELOAD_OUT_REG. + recognize them because they have RELOAD_OUT set to RELOAD_IN. If we suceeded removing some reload and we are doing a preliminary pass just to remove such reloads, make another pass, since the removal of one reload might allow us to inherit another one. */ - else if ((! reload_out[r] || reload_out_reg[r]) - && reload_in[r] + else if (reload_in[r] + && reload_out[r] != reload_in[r] && remove_address_replacements (reload_in[r]) && pass) pass = 2; } |