diff options
author | ciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-10 20:43:59 +0000 |
---|---|---|
committer | ciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-10 20:43:59 +0000 |
commit | b59528b6b447f5d758ea301a8a2dd49c9f953f25 (patch) | |
tree | 19e771fb7d88a831edaa5a0a303c8bc509b84615 /gcc/reload1.c | |
parent | 2d0f9a720cadc34c5e10a5b68f858691e7d2dc95 (diff) | |
download | gcc-b59528b6b447f5d758ea301a8a2dd49c9f953f25.tar.gz |
* reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43911 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 1423e6ed0d7..21651553718 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6062,12 +6062,12 @@ merge_assigned_reloads (insn) if (rld[i].when_needed == RELOAD_OTHER) for (j = 0; j < n_reloads; j++) if (rld[j].in != 0 - && rld[i].when_needed != RELOAD_OTHER + && rld[j].when_needed != RELOAD_OTHER && reg_overlap_mentioned_for_reload_p (rld[j].in, rld[i].in)) rld[j].when_needed - = ((rld[i].when_needed == RELOAD_FOR_INPUT_ADDRESS - || rld[i].when_needed == RELOAD_FOR_INPADDR_ADDRESS) + = ((rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS + || rld[j].when_needed == RELOAD_FOR_INPADDR_ADDRESS) ? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER); } } |