of the loop. This is beneficial since it increases efficiency of
code motion optimizations. It also saves one jump on entry to the loop. */
-static void
+static unsigned int
copy_loop_headers (void)
{
struct loops *loops;
unsigned n_bbs;
unsigned bbs_size;
- loops = loop_optimizer_init (dump_file);
+ loops = loop_optimizer_init (LOOPS_HAVE_PREHEADERS
+ | LOOPS_HAVE_SIMPLE_LATCHES);
if (!loops)
- return;
-
- /* We do not try to keep the information about irreducible regions
- up-to-date. */
- loops->state &= ~LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS;
+ return 0;
#ifdef ENABLE_CHECKING
verify_loop_structure (loops);
free (bbs);
free (copied_bbs);
- loop_optimizer_finalize (loops, NULL);
+ loop_optimizer_finalize (loops);
+ return 0;
}
static bool