Lines Matching defs:epilogue

1706   /* If we are vectorizing an epilogue then we know the maximum number of
1845 /* Decides whether we need to create an epilogue loop to handle
1887 the epilogue is unnecessary. */
1909 /* If we are dealing with an epilogue then orig_loop_vinfo points to the
2089 /* Do not invoke vect_enhance_data_refs_alignment for epilogue
2161 /* If we're vectorizing an epilogue loop, we either need a fully-masked
2169 " epilogue loop.\n");
2184 /* If an epilogue loop is required make sure we can create one. */
2207 If we are analyzing an epilogue we still want to check what its
2210 loop. This will enable us to enter a vectorized epilogue even when
2211 versioning the loop. We can't simply check whether the epilogue requires
2213 analyzing the epilogue. For instance, checks for alias versioning will be
2451 there's a difference in the prologue and epilogue costs. */
2576 E.g. when trying to replace an epilogue loop, we should vectorize
2577 LOOP_VINFO as an epilogue loop with the same VF limit. When trying
2588 can be used to vectorize the epilogue of the unmaskable mode.
2591 epilogue vectorization opportunities. Targets should only use
2598 LOOP_VINFO fails when treated as an epilogue loop, succeeds when
2690 /* For now only allow one epilogue loop. */
2709 TODO: Enable epilogue vectorization for loops with SIMDUID set. */
2715 /* For now only allow one epilogue loop, but allow
3065 forcing a scalar epilogue for example. */
3322 /* We can only handle the final value in epilogue
3381 "cost model: epilogue peel iters set to vf/2 "
3534 /* Add additional cost for the peeled instructions in prologue and epilogue
3537 FORNOW: If we don't know the value of peel_iters for prologue or epilogue
3541 epilogue to be used in a run-time test. */
3599 "epilogue peel iters set to vf/2 because "
3687 3. The vectorizer then checks if an epilogue is required. If the
3689 has to be done with the epilogue check.
3698 if ((cost <= th) | (scalar_iters-prologue-epilogue == 0))
3699 jmp to epilogue
3723 /* Cost model check occurs at epilogue generation. */
3746 dump_printf (MSG_NOTE, " Vector epilogue cost: %d\n",
3756 dump_printf (MSG_NOTE, " epilogue iterations: %d\n",
3767 NPEEL = prologue iterations + epilogue iterations,
3979 definition before the loop, and the epilogue code that must be generated. */
4044 /* Determine cost of epilogue code.
4094 /* No extra instructions need in the epilogue. */
5992 function epilogue this is reduced to a single max value and then used to
6119 /* ??? For epilogue generation live members of the chain need
6637 /* The epilogue code relies on the number of elements being a multiple
7238 /* The loop-latch arg is set in epilogue processing. */
7963 /* For SLP reductions we vectorize the epilogue for
8536 update_epilogue_loop_vinfo (class loop *epilogue, tree advance)
8538 loop_vec_info epilogue_vinfo = loop_vec_info_for_loop (epilogue);
8545 basic_block *epilogue_bbs = get_loop_body (epilogue);
8560 for (unsigned i = 0; i < epilogue->num_nodes; ++i)
8621 /* The PATTERN_DEF_SEQs and RELATED_STMTs in the epilogue were constructed
8623 cloned variables used in the epilogue. */
8658 the original in the epilogue. */
8671 /* The vector size of the epilogue is smaller than that of the main loop
8686 Returns scalar epilogue loop if any. */
8692 class loop *epilogue = NULL;
8768 epilogue = vect_do_peeling (loop_vinfo, niters, nitersm1, &niters_vector,
8991 /* The minimum number of iterations performed by the epilogue. This
9070 if (epilogue)
9072 update_epilogue_loop_vinfo (epilogue, advance);
9074 epilogue->simduid = loop->simduid;
9075 epilogue->force_vectorize = loop->force_vectorize;
9076 epilogue->dont_vectorize = false;
9079 return epilogue;