1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-cddce" } */
8 typedef struct rtx_def
*rtx
;
9 extern const char rtx_class
[];
14 typedef union rtunion_def rtunion
;
21 can_move_up (rtx insn
, int n_insns
)
25 insn
= (((insn
)->fld
[1]).rtx
);
26 if (((rtx_class
[(int) (((insn
)->code
))]) == 'i'))
32 com (rtx insn
, int blah
)
34 if (!can_move_up (insn
, blah
))
38 /* Cddce cannot remove possibly infinite loops and there is no way how to
39 determine whether the loop in can_move_up ends. */
40 /* { dg-final { scan-tree-dump "if " "cddce"} } */
41 /* { dg-final { cleanup-tree-dump "cddce" } } */