Home | History | Annotate | Download | only in compiler

Lines Matching full:loop

20 #include "Loop.h"
29 * | loop body (B1)
31 * | loop back (B2)
157 * A loop is considered optimizable if:
159 * 2) The loop back branch compares the BIV with a constant
160 * 3) If it is a count-up loop, the condition is GE/GT, or LE/LT/LEZ/LTZ for
161 * a count-down loop.
163 * Return false if the loop is not optimizable.
176 /* Count up or down loop? */
178 /* Infinite loop */
215 * If the comparison is not between the BIV and a loop invariant,
216 * return false. endReg is loop invariant if one of the following is
218 * - It is not defined in the loop (ie DECODE_SUB returns 0)
234 * If the comparison is not between the BIV and a loop invariant,
299 /* Returns true if the loop body cannot throw any exceptions */
334 * Check if the null check is applied on a loop invariant register?
336 * registers, then it is loop invariant.
361 * If the register is never updated in the loop (ie subscript == 0),
370 * Then check if the range check can be hoisted out of the loop if
393 /* Should be loop invariant */
471 * Main entry point to do loop optimization.
472 * Return false if sanity checks for loop formation/optimization failed.
484 * Find live-in variables to the loop body so that we can fake their
489 /* Insert phi nodes to the loop body */
511 /* If the loop turns out to be non-optimizable, return early */
521 * Convert the array access information into extended MIR code in the loop