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:
parent
8ff7d07b09
commit
7884b51fe1
@ -1250,7 +1250,9 @@ combine_movables (movables, nregs)
|
|||||||
bzero (matched_regs, nregs);
|
bzero (matched_regs, nregs);
|
||||||
matched_regs[regno] = 1;
|
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
|
if (m != m1 && m1->match == 0 && n_times_used[m1->regno] == 1
|
||||||
/* A reg used outside the loop mustn't be eliminated. */
|
/* A reg used outside the loop mustn't be eliminated. */
|
||||||
&& !m1->global
|
&& !m1->global
|
||||||
|
Loading…
Reference in New Issue
Block a user