Mercurial > hg > CbC > CbC_gcc
comparison gcc/loop-doloop.c @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | b7f97abdc517 |
children | 04ced10e8804 |
comparison
equal
deleted
inserted
replaced
65:65488c3d617d | 67:f6334be47118 |
---|---|
26 #include "rtl.h" | 26 #include "rtl.h" |
27 #include "flags.h" | 27 #include "flags.h" |
28 #include "expr.h" | 28 #include "expr.h" |
29 #include "hard-reg-set.h" | 29 #include "hard-reg-set.h" |
30 #include "basic-block.h" | 30 #include "basic-block.h" |
31 #include "toplev.h" | 31 #include "diagnostic-core.h" |
32 #include "tm_p.h" | 32 #include "tm_p.h" |
33 #include "cfgloop.h" | 33 #include "cfgloop.h" |
34 #include "output.h" | 34 #include "output.h" |
35 #include "params.h" | 35 #include "params.h" |
36 #include "target.h" | 36 #include "target.h" |
101 pattern = PATTERN (doloop_pat); | 101 pattern = PATTERN (doloop_pat); |
102 | 102 |
103 if (GET_CODE (pattern) != PARALLEL) | 103 if (GET_CODE (pattern) != PARALLEL) |
104 { | 104 { |
105 rtx cond; | 105 rtx cond; |
106 rtx prev_insn = prev_nondebug_insn (doloop_pat); | |
106 | 107 |
107 /* We expect the decrement to immediately precede the branch. */ | 108 /* We expect the decrement to immediately precede the branch. */ |
108 | 109 |
109 if ((PREV_INSN (doloop_pat) == NULL_RTX) | 110 if (prev_insn == NULL_RTX || !INSN_P (prev_insn)) |
110 || !INSN_P (PREV_INSN (doloop_pat))) | |
111 return 0; | 111 return 0; |
112 | 112 |
113 cmp = pattern; | 113 cmp = pattern; |
114 inc = PATTERN (PREV_INSN (doloop_pat)); | 114 inc = PATTERN (PREV_INSN (doloop_pat)); |
115 /* We expect the condition to be of the form (reg != 0) */ | 115 /* We expect the condition to be of the form (reg != 0) */ |