Lines Matching defs:IVUsers
1 //===- IVUsers.cpp - Induction Variable Users -------------------*- C++ -*-===//
14 #include "llvm/Analysis/IVUsers.h"
36 IVUsers IVUsersAnalysis::run(Loop &L, LoopAnalysisManager &AM,
38 return IVUsers(&L, &AR.AC, &AR.LI, &AR.DT, &AR.SE);
136 bool IVUsers::AddUsersIfInteresting(Instruction *I) {
140 // all IV users are members of the set. See IVUsers::isIVUserOrOperand.
147 // IVUsers is used by LSR which assumes that all SCEV expressions are safe to
246 IVStrideUse &IVUsers::AddUser(Instruction *User, Value *Operand) {
251 IVUsers::IVUsers(Loop *L, AssumptionCache *AC, LoopInfo *LI, DominatorTree *DT,
265 void IVUsers::print(raw_ostream &OS, const Module *M) const {
292 LLVM_DUMP_METHOD void IVUsers::dump() const { print(dbgs()); }
295 void IVUsers::releaseMemory() {
319 IU.reset(new IVUsers(L, AC, LI, DT, SE));
331 const SCEV *IVUsers::getReplacementExpr(const IVStrideUse &IU) const {
336 const SCEV *IVUsers::getExpr(const IVStrideUse &IU) const {
358 const SCEV *IVUsers::getStride(const IVStrideUse &IU, const Loop *L) const {