Searched refs:IndVar (Results 1 - 5 of 5) sorted by relevance

/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopInfo.cpp182 static Value *findFinalIVValue(const Loop &L, const PHINode &IndVar,
190 if (Op0 == &IndVar || Op0 == &StepInst)
193 if (Op1 == &IndVar || Op1 == &StepInst)
200 PHINode &IndVar,
203 if (!InductionDescriptor::isInductionPHI(&IndVar, &L, &SE, IndDesc))
220 Value *FinalIVValue = findFinalIVValue(L, IndVar, *StepInst);
286 if (PHINode *IndVar = getInductionVariable(SE))
287 return LoopBounds::getBounds(*this, *IndVar, SE);
305 for (PHINode &IndVar : Header->phis()) {
307 if (!InductionDescriptor::isInductionPHI(&IndVar, thi
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp163 PHINode *IndVar, SCEVExpander &Rewriter);
1997 /// Insert an IR expression which computes the value held by the IV IndVar
2000 static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, argument
2003 assert(isLoopCounter(IndVar, L, SE));
2004 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar));
2011 if (IndVar->getType()->isPointerTy() &&
2030 assert(SE->getSizeOfExpr(IntegerType::getInt64Ty(IndVar->getContext()),
2031 cast<PointerType>(IndVar->getType())
2037 return Rewriter.expandCodeFor(IVLimit, IndVar->getType(), BI);
2075 // Ensure that we generate the same type as IndVar, o
2091 linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB, const SCEV *ExitCount, PHINode *IndVar, SCEVExpander &Rewriter) argument
2761 PHINode *IndVar = FindLoopCounter(L, ExitingBB, ExitCount, SE, DT); local
[all...]
H A DInductiveRangeCheckElimination.cpp214 /// Computes a range for the induction variable (IndVar) in which the range
218 const SCEVAddRecExpr *IndVar,
1582 /// Computes and returns a range of values for the induction variable (IndVar)
1587 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar,
1591 auto *IVType = cast<IntegerType>(IndVar->getType());
1595 // IndVar is of the form "A + B * I" (where "I" is the canonical induction
1599 // checked to "M + N * IndVar" where "N" = "D * B^(-1)" and "M" = "C - NA".
1603 // 0 <= M + 1 * IndVar < L given L >= 0 (i.e. N == 1)
1606 // The inequality is satisfied by (0 - M) <= IndVar < (L - M). To avoid
1609 // space. For example, if IndVar i
1586 computeSafeIterationSpace( ScalarEvolution &SE, const SCEVAddRecExpr *IndVar, bool IsLatchSigned) const argument
1881 const SCEVAddRecExpr *IndVar = local
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopInfo.h623 /// - the given \p IndVar is an induction variable
629 static Optional<Loop::LoopBounds> getBounds(const Loop &L, PHINode &IndVar,
672 /// - The first operand of the latch comparison (%cmp) is the IndVar (%iv)
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DTargetInstrInfo.h741 MachineInstr *IndVar, MachineInstr &Cmp,
739 reduceLoopCount(MachineBasicBlock &MBB, MachineBasicBlock &PreHeader, MachineInstr *IndVar, MachineInstr &Cmp, SmallVectorImpl<MachineOperand> &Cond, SmallVectorImpl<MachineInstr *> &PrevInsts, unsigned Iter, unsigned MaxIter) const argument

Completed in 119 milliseconds