diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/loop.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5a04aa8..56429ef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-11-13 Richard Henderson <rth@redhat.com> + + * loop.c (combine_movables): Turn off combination until + move_movables validation bugs are fixed. + 2001-11-13 DJ Delorie <dj@redhat.com> * config.gcc (powerpc|rs6000): Set default cpp options based @@ -1346,7 +1346,10 @@ combine_movables (movables, regs) /* 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 + /* ??? HACK! move_movables does not verify that the replacement + is valid, which can have disasterous effects with hard regs + and match_dup. Turn combination off for now. */ + if (0 && m != m1 && m1->match == 0 && regs->array[m1->regno].n_times_set == 1 /* A reg used outside the loop mustn't be eliminated. */ && !m1->global |
