|
LLVM
3.7.0
|
FullDependence - This class represents a dependence between two memory references in a function. More...
#include <DependenceAnalysis.h>
Public Member Functions | |
| FullDependence (Instruction *Src, Instruction *Dst, bool LoopIndependent, unsigned Levels) | |
| ~FullDependence () override | |
| bool | isLoopIndependent () const override |
| isLoopIndependent - Returns true if this is a loop-independent dependence. More... | |
| bool | isConfused () const override |
| isConfused - Returns true if this dependence is confused (the compiler understands nothing and makes worst-case assumptions). More... | |
| bool | isConsistent () const override |
| isConsistent - Returns true if this dependence is consistent (occurs every time the source and destination are executed). More... | |
| unsigned | getLevels () const override |
| getLevels - Returns the number of common loops surrounding the source and destination of the dependence. More... | |
| unsigned | getDirection (unsigned Level) const override |
| getDirection - Returns the direction associated with a particular level. More... | |
| const SCEV * | getDistance (unsigned Level) const override |
| getDistance - Returns the distance (or NULL) associated with a particular level. More... | |
| bool | isPeelFirst (unsigned Level) const override |
| isPeelFirst - Returns true if peeling the first iteration from this loop will break this dependence. More... | |
| bool | isPeelLast (unsigned Level) const override |
| isPeelLast - Returns true if peeling the last iteration from this loop will break this dependence. More... | |
| bool | isSplitable (unsigned Level) const override |
| isSplitable - Returns true if splitting the loop will break the dependence. More... | |
| bool | isScalar (unsigned Level) const override |
| isScalar - Returns true if a particular level is scalar; that is, if no subscript in the source or destination mention the induction variable associated with the loop at this level. More... | |
Public Member Functions inherited from llvm::Dependence | |
| Dependence (Instruction *Source, Instruction *Destination) | |
| virtual | ~Dependence () |
| Instruction * | getSrc () const |
| getSrc - Returns the source instruction for this dependence. More... | |
| Instruction * | getDst () const |
| getDst - Returns the destination instruction for this dependence. More... | |
| bool | isInput () const |
| isInput - Returns true if this is an input dependence. More... | |
| bool | isOutput () const |
| isOutput - Returns true if this is an output dependence. More... | |
| bool | isFlow () const |
| isFlow - Returns true if this is a flow (aka true) dependence. More... | |
| bool | isAnti () const |
| isAnti - Returns true if this is an anti dependence. More... | |
| bool | isOrdered () const |
| isOrdered - Returns true if dependence is Output, Flow, or Anti More... | |
| bool | isUnordered () const |
| isUnordered - Returns true if dependence is Input More... | |
| const Dependence * | getNextPredecessor () const |
| getNextPredecessor - Returns the value of the NextPredecessor field. More... | |
| const Dependence * | getNextSuccessor () const |
| getNextSuccessor - Returns the value of the NextSuccessor field. More... | |
| void | setNextPredecessor (const Dependence *pred) |
| setNextPredecessor - Sets the value of the NextPredecessor field. More... | |
| void | setNextSuccessor (const Dependence *succ) |
| setNextSuccessor - Sets the value of the NextSuccessor field. More... | |
| void | dump (raw_ostream &OS) const |
| dump - For debugging purposes, dumps a dependence to OS. More... | |
Friends | |
| class | DependenceAnalysis |
FullDependence - This class represents a dependence between two memory references in a function.
It contains detailed information about the dependence (direction vectors, etc.) and is used when the compiler is able to accurately analyze the interaction of the references; that is, it is not a confused dependence (see Dependence). In most cases (for output, flow, and anti dependences), the dependence implies an ordering, where the source must precede the destination; in contrast, input dependences are unordered.
Definition at line 219 of file DependenceAnalysis.h.
| FullDependence::FullDependence | ( | Instruction * | Src, |
| Instruction * | Dst, | ||
| bool | LoopIndependent, | ||
| unsigned | Levels | ||
| ) |
Definition at line 230 of file DependenceAnalysis.cpp.
|
inlineoverride |
Definition at line 223 of file DependenceAnalysis.h.
getDirection - Returns the direction associated with a particular level.
Reimplemented from llvm::Dependence.
Definition at line 242 of file DependenceAnalysis.cpp.
References llvm::Dependence::DVEntry::Direction.
Referenced by llvm::DependenceAnalysis::depends().
getDistance - Returns the distance (or NULL) associated with a particular level.
Reimplemented from llvm::Dependence.
Definition at line 249 of file DependenceAnalysis.cpp.
References llvm::Dependence::DVEntry::Distance.
|
inlineoverridevirtual |
getLevels - Returns the number of common loops surrounding the source and destination of the dependence.
Reimplemented from llvm::Dependence.
Definition at line 240 of file DependenceAnalysis.h.
|
inlineoverridevirtual |
isConfused - Returns true if this dependence is confused (the compiler understands nothing and makes worst-case assumptions).
Reimplemented from llvm::Dependence.
Definition at line 232 of file DependenceAnalysis.h.
|
inlineoverridevirtual |
isConsistent - Returns true if this dependence is consistent (occurs every time the source and destination are executed).
Reimplemented from llvm::Dependence.
Definition at line 236 of file DependenceAnalysis.h.
|
inlineoverridevirtual |
isLoopIndependent - Returns true if this is a loop-independent dependence.
Reimplemented from llvm::Dependence.
Definition at line 227 of file DependenceAnalysis.h.
isPeelFirst - Returns true if peeling the first iteration from this loop will break this dependence.
Reimplemented from llvm::Dependence.
Definition at line 266 of file DependenceAnalysis.cpp.
References llvm::Dependence::DVEntry::PeelFirst.
isPeelLast - Returns true if peeling the last iteration from this loop will break this dependence.
Reimplemented from llvm::Dependence.
Definition at line 274 of file DependenceAnalysis.cpp.
References llvm::Dependence::DVEntry::PeelLast.
isScalar - Returns true if a particular level is scalar; that is, if no subscript in the source or destination mention the induction variable associated with the loop at this level.
Reimplemented from llvm::Dependence.
Definition at line 258 of file DependenceAnalysis.cpp.
References llvm::Dependence::DVEntry::Scalar.
isSplitable - Returns true if splitting the loop will break the dependence.
Reimplemented from llvm::Dependence.
Definition at line 281 of file DependenceAnalysis.cpp.
References llvm::Dependence::DVEntry::Splitable.
|
friend |
Definition at line 272 of file DependenceAnalysis.h.
1.8.6