From 7c3808430899ea245f2d86cfa432a8f31cfe0bc2 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 13 Nov 2001 16:15:30 -0800 Subject: [PATCH] loop.c (combine_movables): Turn off combination until move_movables validation bugs are fixed. * loop.c (combine_movables): Turn off combination until move_movables validation bugs are fixed. From-SVN: r46995 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 + + * loop.c (combine_movables): Turn off combination until + move_movables validation bugs are fixed. + 2001-11-13 DJ Delorie * config.gcc (powerpc|rs6000): Set default cpp options based diff --git a/gcc/loop.c b/gcc/loop.c index bc22852..adc4a0b 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -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 -- 2.7.4