}
}
-/* Checks that EXPR is invariant provided that INVARIANT_REGS are invariant. */
+/* Checks that EXPR is invariant provided that INVARIANT_REGS are invariant. */
static bool
invariant_rtx_wrto_regs_p (expr, invariant_regs)
rtx expr;
return true;
}
- /* Check the other operand. */
+ /* Check the other operand. */
if (!invariant_rtx_wrto_regs_p (op1, invariant_regs))
return false;
if (!REG_P (op0))
These cases needs to be either cared by copying the loop test in the front
of loop or keeping the test in first iteration of loop.
- When INIT/LIM are set, they are used instead of var/lim of DESC. */
+ When INIT/LIM are set, they are used instead of var/lim of DESC. */
rtx
count_loop_iterations (desc, init, lim)
struct loop_desc *desc;
if (stride != const1_rtx)
{
/* Number of iterations is now (EXP + STRIDE - 1 / STRIDE),
- but we need to take care for overflows. */
+ but we need to take care for overflows. */
mod = simplify_gen_binary (UMOD, GET_MODE (desc->var), exp, stride);
if (rtl_dump_file)
{
- fprintf (rtl_dump_file, "; Conditional to continue loop at ");
- fprintf (rtl_dump_file, HOST_WIDE_INT_PRINT_UNSIGNED, iter);
- fprintf (rtl_dump_file, "th iteration: ");
+ fprintf (rtl_dump_file, "; Conditional to continue loop at "
+ HOST_WIDE_INT_PRINT_UNSIGNED "th iteration: ", iter);
print_simple_rtl (rtl_dump_file, exp);
fprintf (rtl_dump_file, "\n");
}
desc->var_alts = variable_initial_values (e, desc->var);
desc->lim_alts = variable_initial_values (e, desc->lim);
- /* Number of iterations. */
+ /* Number of iterations. */
if (!count_loop_iterations (desc, NULL, NULL))
return false;
desc->const_iter =
bb = bbs[i];
ninsns++;
for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn))
- ninsns++;
+ if (INSN_P (insn))
+ ninsns++;
}
free(bbs);
binsns = 1;
for (insn = bb->head; insn != bb->end; insn = NEXT_INSN (insn))
- binsns++;
+ if (INSN_P (insn))
+ binsns++;
ratio = loop->header->frequency == 0
? BB_FREQ_MAX