diff options
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r-- | gcc/cfgloop.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index 842ebb5d5a4..aa3e6118ed6 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -171,7 +171,8 @@ enum LOOPS_HAVE_RECORDED_EXITS = 8, LOOPS_MAY_HAVE_MULTIPLE_LATCHES = 16, LOOP_CLOSED_SSA = 32, - LOOPS_NEED_FIXUP = 64 + LOOPS_NEED_FIXUP = 64, + LOOPS_HAVE_FALLTHRU_PREHEADERS = 128 }; #define LOOPS_NORMAL (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES \ @@ -235,6 +236,9 @@ extern unsigned get_loop_body_with_size (const struct loop *, basic_block *, unsigned); extern basic_block *get_loop_body_in_dom_order (const struct loop *); extern basic_block *get_loop_body_in_bfs_order (const struct loop *); +extern basic_block *get_loop_body_in_custom_order (const struct loop *, + int (*) (const void *, const void *)); + extern VEC (edge, heap) *get_loop_exit_edges (const struct loop *); edge single_exit (const struct loop *); extern unsigned num_loop_branches (const struct loop *); @@ -250,7 +254,8 @@ extern void delete_loop (struct loop *); enum { - CP_SIMPLE_PREHEADERS = 1 + CP_SIMPLE_PREHEADERS = 1, + CP_FALLTHRU_PREHEADERS = 2 }; basic_block create_preheader (struct loop *, int); |