This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
doloop_optimize
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 17 Jun 2002 14:54:47 +0930
- Subject: doloop_optimize
Davem's recent SEQUENCE patch got the doloop_optimize change wrong.
We want to extract the pattern from a single insn or a list of insns.
gcc/ChangeLog
* doloop.c (doloop_optimize): Extract pattern from insn.
Index: gcc/doloop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doloop.c,v
retrieving revision 1.18
diff -u -p -r1.18 doloop.c
--- gcc/doloop.c 11 Jun 2002 12:21:52 -0000 1.18
+++ gcc/doloop.c 17 Jun 2002 05:13:09 -0000
@@ -875,11 +875,13 @@ doloop_optimize (loop)
jump instruction. Also, a raw define_insn may yield a plain
pattern. */
doloop_pat = doloop_seq;
- if (INSN_P (doloop_pat) && NEXT_INSN (doloop_pat) != NULL_RTX)
+ if (INSN_P (doloop_pat))
{
while (NEXT_INSN (doloop_pat) != NULL_RTX)
doloop_pat = NEXT_INSN (doloop_pat);
- if (GET_CODE (doloop_pat) != JUMP_INSN)
+ if (GET_CODE (doloop_pat) == JUMP_INSN)
+ doloop_pat = PATTERN (doloop_pat);
+ else
doloop_pat = NULL_RTX;
}
--
Alan Modra
IBM OzLabs - Linux Technology Centre