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) */