aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-11-13 16:15:30 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-11-13 16:15:30 -0800
commit7c3808430899ea245f2d86cfa432a8f31cfe0bc2 (patch)
treefc632a3d72fd07ecc6e6876b345dc04e082fe810 /gcc/loop.c
parentf9d44b00b686b9973139863c7d6472c2b7a11eb3 (diff)
downloadgcc-7c3808430899ea245f2d86cfa432a8f31cfe0bc2.zip
gcc-7c3808430899ea245f2d86cfa432a8f31cfe0bc2.tar.gz
gcc-7c3808430899ea245f2d86cfa432a8f31cfe0bc2.tar.bz2
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
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c5
1 files changed, 4 insertions, 1 deletions
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