|
LLVM
3.7.0
|
Dependece between memory access instructions. More...
#include <LoopAccessAnalysis.h>
Public Types | |
| enum | DepType { NoDep, Unknown, Forward, ForwardButPreventsForwarding, Backward, BackwardVectorizable, BackwardVectorizableButPreventsForwarding } |
| The type of the dependence. More... | |
Public Member Functions | |
| Dependence (unsigned Source, unsigned Destination, DepType Type) | |
| bool | isPossiblyBackward () const |
| Lexically backward dependence types. More... | |
| void | print (raw_ostream &OS, unsigned Depth, const SmallVectorImpl< Instruction * > &Instrs) const |
| Print the dependence. More... | |
Static Public Member Functions | |
| static bool | isSafeForVectorization (DepType Type) |
| Dependence types that don't prevent vectorization. More... | |
| static bool | isInterestingDependence (DepType Type) |
| Dependence types that can be queried from the analysis. More... | |
Public Attributes | |
| unsigned | Source |
| Index of the source of the dependence in the InstMap vector. More... | |
| unsigned | Destination |
| Index of the destination of the dependence in the InstMap vector. More... | |
| DepType | Type |
| The type of the dependence. More... | |
Static Public Attributes | |
| static const char * | DepName [] |
| String version of the types. More... | |
Dependece between memory access instructions.
Definition at line 131 of file LoopAccessAnalysis.h.
The type of the dependence.
| Enumerator | |
|---|---|
| NoDep | |
| Unknown | |
| Forward | |
| ForwardButPreventsForwarding | |
| Backward | |
| BackwardVectorizable | |
| BackwardVectorizableButPreventsForwarding | |
Definition at line 133 of file LoopAccessAnalysis.h.
|
inline |
Definition at line 162 of file LoopAccessAnalysis.h.
Dependence types that can be queried from the analysis.
Definition at line 875 of file LoopAccessAnalysis.cpp.
References llvm_unreachable, and llvm::Unknown.
| bool MemoryDepChecker::Dependence::isPossiblyBackward | ( | ) | const |
Lexically backward dependence types.
Definition at line 891 of file LoopAccessAnalysis.cpp.
References llvm_unreachable, and llvm::Unknown.
Dependence types that don't prevent vectorization.
Definition at line 859 of file LoopAccessAnalysis.cpp.
References llvm_unreachable, and llvm::Unknown.
| void MemoryDepChecker::Dependence::print | ( | raw_ostream & | OS, |
| unsigned | Depth, | ||
| const SmallVectorImpl< Instruction * > & | Instrs | ||
| ) | const |
Print the dependence.
Instr is used to map the instruction indices to instructions.
Definition at line 1251 of file LoopAccessAnalysis.cpp.
References llvm::raw_ostream::indent(), and llvm::Sched::Source.
|
static |
String version of the types.
Definition at line 153 of file LoopAccessAnalysis.h.
| unsigned llvm::MemoryDepChecker::Dependence::Destination |
Index of the destination of the dependence in the InstMap vector.
Definition at line 158 of file LoopAccessAnalysis.h.
| unsigned llvm::MemoryDepChecker::Dependence::Source |
Index of the source of the dependence in the InstMap vector.
Definition at line 156 of file LoopAccessAnalysis.h.
| DepType llvm::MemoryDepChecker::Dependence::Type |
The type of the dependence.
Definition at line 160 of file LoopAccessAnalysis.h.
1.8.6