* tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file.
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / 20040211-1.c
blobd289e5d0f55e1decdb1cf98b5d0cb1d5f54aa53e
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-cddce2" } */
4 struct rtx_def;
5 typedef struct rtx_def *rtx;
6 extern const char rtx_class[];
7 void foo (void);
8 union rtunion_def
10 rtx rtx;
12 typedef union rtunion_def rtunion;
13 struct rtx_def
15 int code;
16 rtunion fld[1];
18 static int
19 can_move_up (rtx insn, int n_insns)
21 while (n_insns > 0)
23 insn = (((insn)->fld[1]).rtx);
24 if (((rtx_class[(int) (((insn)->code))]) == 'i'))
25 n_insns--;
27 return n_insns <= 0;
29 int
30 com (rtx insn, int blah)
32 if (!can_move_up (insn, blah))
33 foo ();
36 /* Cddce cannot remove possibly infinite loops and there is no way how to
37 determine whether the loop in can_move_up ends. */
38 /* { dg-final { scan-tree-dump "if " "cddce2"} } */