Lines Matching defs:IV
88 STATISTIC(NumElimExt , "Number of IV sign/zero extends eliminated");
215 // Check IV increment. Reject this PN if increment operation is not
248 // of the loop. If not, the new IV can overflow and no one will notice.
314 // exactly land on the exit value, otherwise the IV condition will wrap
315 // around and do things the fp IV wouldn't.
321 // transform the IV.
340 // exactly land on the exit value, otherwise the IV condition will wrap
341 // around and do things the fp IV wouldn't.
347 // transform the IV.
388 // variable, we chose to eliminate the IV and rewrite it in terms of an
418 // If the loop previously had floating-point IV, ScalarEvolution
503 // IV Widening - Extend the width of an IV to cover its widest uses.
508 /// the IV before actually widening it.
549 // We extend the IV to satisfy the sign of its user(s), or 'signed'
557 // Live IV Reduction - Minimize IVs live across the loop.
561 // Simplification of IV users based on SCEV evaluation.
574 IndVarSimplifyVisitor(PHINode *IV, ScalarEvolution *SCEV,
577 : SE(SCEV), TTI(TTI), IVPhi(IV) {
588 /// Iteratively perform simplification on a worklist of IV users. Each
592 /// Sign/Zero extend elimination is interleaved with IV simplification.
612 // Evaluate as many IV expressions as possible before widening any IVs. This
671 // An IV counter must preserve its type.
741 // Look for a simple IV counter LHS
754 // Do LFTR if the exit condition's IV is *not* a simple counter.
877 // iteration where said IV produces poison. Our strategy here differs for
888 // Don't force a live loop counter if another IV can be used.
910 /// Insert an IR expression which computes the value held by the IV IndVar
921 // For integer IVs, truncate the IV before computing the limit unless we
923 // bitwidth of the IV. We prefer (potentially) keeping a truncate of the
924 // IV in the loop over a (potentially) expensive expansion of the widened
956 // Initialize CmpIndVar to the preincremented IV.
981 // only) or if LFTR switches to a different IV that was previously dynamically
987 // dynamically dead IV that wraps on the first loop iteration only, which is
988 // not covered by the post-inc addrec. (If the new IV was not dynamically
1021 // emit a truncate to narrow the IV to the ExitCount type. This is safe
1036 const SCEV *IV = SE->getSCEV(CmpIndVar);
1037 const SCEV *TruncatedIV = SE->getTruncateExpr(IV, ExitCnt->getType());
1041 if (ZExtTrunc == IV) {
1048 if (SExtTrunc == IV) {
1220 // Replacing with the preheader value will often allow IV users to simplify
1380 // IV widening).
1428 // set of "interesting" IV users to include the icmp, but doing that
1895 // IndVarSimplify driver. Manage several subpasses of IV simplification.
1926 // Eliminate redundant IV users.
1947 // Eliminate redundant IV cycles.