Lines Matching defs:loop
1 /* Natural loop analysis code for GNU compiler.
36 just_once_each_iteration_p (const struct loop *loop, basic_block bb)
39 if (!dominated_by_p (CDI_DOMINATORS, loop->latch, bb))
43 if (bb->loop_father != loop)
46 /* But this was not enough. We might have some irreducible loop here. */
259 for parts of cycles that only "pass" through some loop -- i.e. for
261 loop containing the whole cycle.
263 LOOPS is the loop tree. */
279 struct loop *cloop;
304 /* Edges inside a single loop should be left where they are. Edges
362 num_loop_insns (struct loop *loop)
368 bbs = get_loop_body (loop);
369 for (i = 0; i < loop->num_nodes; i++)
384 average_num_loop_insns (struct loop *loop)
391 bbs = get_loop_body (loop);
392 for (i = 0; i < loop->num_nodes; i++)
401 ratio = loop->header->frequency == 0
403 : (bb->frequency * BB_FREQ_MAX) / loop->header->frequency;
417 to help loop peeling heuristics. Use exact counts if at all possible. */
419 expected_loop_iterations (const struct loop *loop)
424 if (loop->latch->count || loop->header->count)
431 FOR_EACH_EDGE (e, ei, loop->header->preds)
432 if (e->src == loop->latch)
452 FOR_EACH_EDGE (e, ei, loop->header->preds)
453 if (e->src == loop->latch)
468 get_loop_level (const struct loop *loop)
470 const struct loop *ploop;
473 for (ploop = loop->inner; ploop; ploop = ploop->next)
547 /* Calculates cost for having SIZE new loop global variables. REGS_USED is the
548 number of global registers used in loop. N_USES is the number of relevant