From: Stephane Carrez Date: Tue, 10 Jul 2001 20:43:59 +0000 (+0200) Subject: reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=91667711832211a065a5bff2484c26390197986e;p=gcc.git reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge... * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge, fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS. From-SVN: r43911 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e0d9137a93..a15eb81ea56 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-07-10 Stephane Carrez + + * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge, + fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS. + Tue Jul 10 07:27:53 2001 Richard Kenner * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use 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); } }