From David Edelsohn, via the GCC 2.8 development sources:

* loop.c (combine_movables): Earlier insns don't match later ones.
This fixes compilation problems with sa(1) and pkgsrc/games/abuse.
This commit is contained in:
mycroft 1998-11-09 14:37:52 +00:00
parent 8ff7d07b09
commit 7884b51fe1
1 changed files with 3 additions and 1 deletions

View File

@ -1250,7 +1250,9 @@ combine_movables (movables, nregs)
bzero (matched_regs, nregs);
matched_regs[regno] = 1;
for (m1 = movables; m1; m1 = m1->next)
/* We want later insns to match the first one. Don't make the first
one match any later ones. So start this loop at m->next. */
for (m1 = m->next; m1; m1 = m1->next)
if (m != m1 && m1->match == 0 && n_times_used[m1->regno] == 1
/* A reg used outside the loop mustn't be eliminated. */
&& !m1->global