diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/doloop.c | 6 |
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; } |
