class IVUsers
Declaration
class IVUsers { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Analysis/IVUsers.h:93
Method Overview
- public llvm::IVStrideUse & AddUser(llvm::Instruction * User, llvm::Value * Operand)
- public bool AddUsersIfInteresting(llvm::Instruction * I)
- protected bool AddUsersImpl(llvm::Instruction * I, SmallPtrSetImpl<llvm::Loop *> & SimpleLoopNests)
- public IVUsers(llvm::IVUsers && X)
- public IVUsers(const llvm::IVUsers &)
- public IVUsers(llvm::Loop * L, llvm::AssumptionCache * AC, llvm::LoopInfo * LI, llvm::DominatorTree * DT, llvm::ScalarEvolution * SE)
- public llvm::IVUsers::iterator begin()
- public llvm::IVUsers::const_iterator begin() const
- public void dump() const
- public bool empty() const
- public llvm::IVUsers::iterator end()
- public llvm::IVUsers::const_iterator end() const
- public const llvm::SCEV * getExpr(const llvm::IVStrideUse & IU) const
- public llvm::Loop * getLoop() const
- public const llvm::SCEV * getReplacementExpr(const llvm::IVStrideUse & IU) const
- public const llvm::SCEV * getStride(const llvm::IVStrideUse & IU, const llvm::Loop * L) const
- public bool isIVUserOrOperand(llvm::Instruction * Inst) const
- public void print(llvm::raw_ostream & OS, const llvm::Module * = nullptr) const
- public void releaseMemory()
Methods
¶llvm::IVStrideUse& AddUser(
llvm::Instruction* User,
llvm::Value* Operand)
llvm::IVStrideUse& AddUser(
llvm::Instruction* User,
llvm::Value* Operand)
Declared at: llvm/include/llvm/Analysis/IVUsers.h:131
Parameters
- llvm::Instruction* User
- llvm::Value* Operand
¶bool AddUsersIfInteresting(llvm::Instruction* I)
bool AddUsersIfInteresting(llvm::Instruction* I)
Description
AddUsersIfInteresting - Inspect the specified Instruction. If it is a reducible SCEV, recursively add its users to the IVUsesByStride set and return true. Otherwise, return false.
Declared at: llvm/include/llvm/Analysis/IVUsers.h:129
Parameters
¶bool AddUsersImpl(
llvm::Instruction* I,
SmallPtrSetImpl<llvm::Loop*>& SimpleLoopNests)
bool AddUsersImpl(
llvm::Instruction* I,
SmallPtrSetImpl<llvm::Loop*>& SimpleLoopNests)
Description
AddUsersImpl - Inspect the specified instruction. If it is a reducible SCEV, recursively add its users to the IVUsesByStride set and return true. Otherwise, return false.
Declared at: llvm/include/llvm/Analysis/IVUsers.h:162
Parameters
- llvm::Instruction* I
- SmallPtrSetImpl<llvm::Loop*>& SimpleLoopNests
¶IVUsers(llvm::IVUsers&& X)
IVUsers(llvm::IVUsers&& X)
Declared at: llvm/include/llvm/Analysis/IVUsers.h:113
Parameters
- llvm::IVUsers&& X
¶IVUsers(const llvm::IVUsers&)
IVUsers(const llvm::IVUsers&)
Declared at: llvm/include/llvm/Analysis/IVUsers.h:120
Parameters
- const llvm::IVUsers&
¶IVUsers(llvm::Loop* L,
llvm::AssumptionCache* AC,
llvm::LoopInfo* LI,
llvm::DominatorTree* DT,
llvm::ScalarEvolution* SE)
IVUsers(llvm::Loop* L,
llvm::AssumptionCache* AC,
llvm::LoopInfo* LI,
llvm::DominatorTree* DT,
llvm::ScalarEvolution* SE)
Declared at: llvm/include/llvm/Analysis/IVUsers.h:110
Parameters
- llvm::Loop* L
- llvm::AssumptionCache* AC
- llvm::LoopInfo* LI
- llvm::DominatorTree* DT
- llvm::ScalarEvolution* SE
¶llvm::IVUsers::iterator begin()
llvm::IVUsers::iterator begin()
Declared at: llvm/include/llvm/Analysis/IVUsers.h:144
¶llvm::IVUsers::const_iterator begin() const
llvm::IVUsers::const_iterator begin() const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:146
¶void dump() const
void dump() const
Description
dump - This method is used for debugging.
Declared at: llvm/include/llvm/Analysis/IVUsers.h:159
¶bool empty() const
bool empty() const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:148
¶llvm::IVUsers::iterator end()
llvm::IVUsers::iterator end()
Declared at: llvm/include/llvm/Analysis/IVUsers.h:145
¶llvm::IVUsers::const_iterator end() const
llvm::IVUsers::const_iterator end() const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:147
¶const llvm::SCEV* getExpr(
const llvm::IVStrideUse& IU) const
const llvm::SCEV* getExpr(
const llvm::IVStrideUse& IU) const
Description
getExpr - Return the expression for the use.
Declared at: llvm/include/llvm/Analysis/IVUsers.h:138
Parameters
- const llvm::IVStrideUse& IU
¶llvm::Loop* getLoop() const
llvm::Loop* getLoop() const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:124
¶const llvm::SCEV* getReplacementExpr(
const llvm::IVStrideUse& IU) const
const llvm::SCEV* getReplacementExpr(
const llvm::IVStrideUse& IU) const
Description
getReplacementExpr - Return a SCEV expression which computes the value of the OperandValToReplace of the given IVStrideUse.
Declared at: llvm/include/llvm/Analysis/IVUsers.h:135
Parameters
- const llvm::IVStrideUse& IU
¶const llvm::SCEV* getStride(
const llvm::IVStrideUse& IU,
const llvm::Loop* L) const
const llvm::SCEV* getStride(
const llvm::IVStrideUse& IU,
const llvm::Loop* L) const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:140
Parameters
- const llvm::IVStrideUse& IU
- const llvm::Loop* L
¶bool isIVUserOrOperand(
llvm::Instruction* Inst) const
bool isIVUserOrOperand(
llvm::Instruction* Inst) const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:150
Parameters
- llvm::Instruction* Inst
¶void print(llvm::raw_ostream& OS,
const llvm::Module* = nullptr) const
void print(llvm::raw_ostream& OS,
const llvm::Module* = nullptr) const
Declared at: llvm/include/llvm/Analysis/IVUsers.h:156
Parameters
- llvm::raw_ostream& OS
- const llvm::Module* = nullptr
¶void releaseMemory()
void releaseMemory()
Declared at: llvm/include/llvm/Analysis/IVUsers.h:154