struct MemoryDepChecker::Dependence
Declaration
struct MemoryDepChecker::Dependence { /* full declaration omitted */ };
Description
Dependece between memory access instructions.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:113
Member Variables
- public unsigned int Source
- Index of the source of the dependence in the InstMap vector.
- public unsigned int Destination
- Index of the destination of the dependence in the InstMap vector.
- public llvm::MemoryDepChecker::Dependence::DepType Type
- The type of the dependence.
- public static const char*[] DepName
- String version of the types.
Method Overview
- public Dependence(unsigned int Source, unsigned int Destination, llvm::MemoryDepChecker::Dependence::DepType Type)
- public llvm::Instruction * getDestination(const llvm::LoopAccessInfo & LAI) const
- public llvm::Instruction * getSource(const llvm::LoopAccessInfo & LAI) const
- public bool isBackward() const
- public bool isForward() const
- public bool isPossiblyBackward() const
- public static llvm::MemoryDepChecker::VectorizationSafetyStatus isSafeForVectorization(llvm::MemoryDepChecker::Dependence::DepType Type)
- public void print(llvm::raw_ostream & OS, unsigned int Depth, const SmallVectorImpl<llvm::Instruction *> & Instrs) const
Methods
¶Dependence(
unsigned int Source,
unsigned int Destination,
llvm::MemoryDepChecker::Dependence::DepType
Type)
Dependence(
unsigned int Source,
unsigned int Destination,
llvm::MemoryDepChecker::Dependence::DepType
Type)
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:152
Parameters
- unsigned int Source
- unsigned int Destination
- llvm::MemoryDepChecker::Dependence::DepType Type
¶llvm::Instruction* getDestination(
const llvm::LoopAccessInfo& LAI) const
llvm::Instruction* getDestination(
const llvm::LoopAccessInfo& LAI) const
Description
Return the destination instruction of the dependence.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:158
Parameters
- const llvm::LoopAccessInfo& LAI
¶llvm::Instruction* getSource(
const llvm::LoopAccessInfo& LAI) const
llvm::Instruction* getSource(
const llvm::LoopAccessInfo& LAI) const
Description
Return the source instruction of the dependence.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:156
Parameters
- const llvm::LoopAccessInfo& LAI
¶bool isBackward() const
bool isBackward() const
Description
Lexically backward dependence.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:166
¶bool isForward() const
bool isForward() const
Description
Lexically forward dependence.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:164
¶bool isPossiblyBackward() const
bool isPossiblyBackward() const
Description
May be a lexically backward dependence type (includes Unknown).
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:169
¶static llvm::MemoryDepChecker::
VectorizationSafetyStatus
isSafeForVectorization(
llvm::MemoryDepChecker::Dependence::
DepType Type)
static llvm::MemoryDepChecker::
VectorizationSafetyStatus
isSafeForVectorization(
llvm::MemoryDepChecker::Dependence::
DepType Type)
Description
Dependence types that don't prevent vectorization.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:161
Parameters
- llvm::MemoryDepChecker::Dependence::DepType Type
¶void print(
llvm::raw_ostream& OS,
unsigned int Depth,
const SmallVectorImpl<llvm::Instruction*>&
Instrs) const
void print(
llvm::raw_ostream& OS,
unsigned int Depth,
const SmallVectorImpl<llvm::Instruction*>&
Instrs) const
Description
Print the dependence. \p Instr is used to map the instruction indices to instructions.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:173
Parameters
- llvm::raw_ostream& OS
- unsigned int Depth
- const SmallVectorImpl<llvm::Instruction*>& Instrs