aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-06-17 22:45:44 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-06-18 08:15:44 +0930
commit8a09a7e5f129f312f63cbf5982019747741fc4a2 (patch)
tree26be73247b520afd344e309000d58ba414b3ac94 /gcc
parent8217640552c471fe1e10c1fb8203770f31f031a8 (diff)
downloadgcc-8a09a7e5f129f312f63cbf5982019747741fc4a2.zip
gcc-8a09a7e5f129f312f63cbf5982019747741fc4a2.tar.gz
gcc-8a09a7e5f129f312f63cbf5982019747741fc4a2.tar.bz2
* doloop.c (doloop_optimize): Extract pattern from insn.
From-SVN: r54722
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/doloop.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a17de5..aa586a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-06-18 Alan Modra <amodra@bigpond.net.au>
+
+ * doloop.c (doloop_optimize): Extract pattern from insn.
+
2002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
* doc/extend.texi (Function Attributes): Remove `,...' from @var.
diff --git a/gcc/doloop.c b/gcc/doloop.c
index dc9ea37..de59562 100644
--- a/gcc/doloop.c
+++ b/gcc/doloop.c
@@ -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;
}