The following fixes compilation of mn10300 which broke when the interface to flow_loops_find changed (as reported in a comment in PR56294). I took the liberty to use the proper interface for initializing the loop tree.
Built a mn10300 cc1, committed as obvious. Richard. 2013-02-13 Richard Biener <rguent...@suse.de> * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Fix loop discovery code. Index: gcc/config/mn10300/mn10300.c =================================================================== --- gcc/config/mn10300/mn10300.c (revision 195997) +++ gcc/config/mn10300/mn10300.c (working copy) @@ -3235,9 +3235,7 @@ mn10300_scan_for_setlb_lcc (void) compute_bb_for_insn (); /* Find the loops. */ - if (flow_loops_find (& loops) < 1) - DUMP ("No loops found", NULL_RTX); - current_loops = & loops; + loop_optimizer_init (AVOID_CFG_MODIFICATIONS); /* FIXME: For now we only investigate innermost loops. In practice however if an inner loop is not suitable for use with the SETLB/Lcc insns, it may @@ -3287,15 +3285,7 @@ mn10300_scan_for_setlb_lcc (void) reason); } -#if 0 /* FIXME: We should free the storage we allocated, but - for some unknown reason this leads to seg-faults. */ - FOR_EACH_LOOP (liter, loop, 0) - free_simple_loop_desc (loop); - - flow_loops_free (current_loops); -#endif - - current_loops = NULL; + loop_optimizer_finalize (); df_finish_pass (false);