+2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * loop.c (loop_optimize): Allocate loop_info structure for each loop
+ prior to calling scan_loop.
+
Wed Jan 19 19:54:38 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.c (prepare_scc_operands): Abort if no compare insn is available.
this prevents low overhead loop instructions from being used. */
indirect_jump_in_function = indirect_jump_in_function_p (f);
- /* Now scan the loops, last ones first, since this means inner ones are done
- before outer ones. */
+ /* Allocate and initialize auxiliary loop information. */
for (i = max_loop_num - 1; i >= 0; i--)
{
struct loop *loop = &loops->array[i];
loop->info = (struct loop_info *) alloca (sizeof (struct loop_info));
memset (loop->info, 0, sizeof (struct loop_info));
-
+ }
+
+ /* Now scan the loops, last ones first, since this means inner ones are done
+ before outer ones. */
+ for (i = max_loop_num - 1; i >= 0; i--)
+ {
+ struct loop *loop = &loops->array[i];
+
if (! loop->invalid && loop->end)
scan_loop (loop, unroll_p, bct_p);
}