Lines Matching defs:AddRec
1086 /// Return true if this AddRec is already a phi in its loop.
1425 // If the AddRec exists, consider it's register free and leave it alone.
1589 // just add or sub. We'll need to compare final result of AddRec.
1601 // Each new AddRec adds 1 instruction to calculation.
2959 /// Helper for CollectChains that finds an IV operand (computed by an AddRec in
3197 // into this loop's AddRec.
3858 // Split the non-zero AddRec unless it is part of a nested recurrence that
4778 // same bad AddRec. Passing LoserRegs is also essential unless we remove
4787 // as the basis of rediscovering the desired formula that uses an AddRec
6604 LLVM_DEBUG(dbgs() << "scev-salvage: IV SCEV. Unsupported nested AddRec: "
7152 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN));
7153 // Only speculate on affine AddRec
7154 if (!AddRec || !AddRec->isAffine()) {
7161 // Check that we can compute the value of AddRec on the exiting iteration
7166 // must also know that AddRec doesn't take the same value on any previous
7170 if (!AddRec->hasNoSelfWrap() ||
7171 !SE.isKnownNonZero(AddRec->getStepRecurrence(SE)))
7174 const SCEVAddRecExpr *PostInc = AddRec->getPostIncExpr(SE);
7230 << "Cannot find other AddRec IV to help folding\n";);