class FullDependence
Declaration
class FullDependence : public Dependence { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:214
Inherits from: Dependence
Method Overview
- public FullDependence(llvm::Instruction * Src, llvm::Instruction * Dst, bool LoopIndependent, unsigned int Levels)
- public unsigned int getDirection(unsigned int Level) const
- public const llvm::SCEV * getDistance(unsigned int Level) const
- public unsigned int getLevels() const
- public bool isConfused() const
- public bool isConsistent() const
- public bool isLoopIndependent() const
- public bool isPeelFirst(unsigned int Level) const
- public bool isPeelLast(unsigned int Level) const
- public bool isScalar(unsigned int Level) const
- public bool isSplitable(unsigned int Level) const
Inherited from Dependence:
- public dump
- public getDirection
- public getDistance
- public getDst
- public getLevels
- public getNextPredecessor
- public getNextSuccessor
- public getSrc
- public isAnti
- public isConfused
- public isConsistent
- public isFlow
- public isInput
- public isLoopIndependent
- public isOrdered
- public isOutput
- public isPeelFirst
- public isPeelLast
- public isScalar
- public isSplitable
- public isUnordered
- public setNextPredecessor
- public setNextSuccessor
Methods
¶FullDependence(llvm::Instruction* Src,
llvm::Instruction* Dst,
bool LoopIndependent,
unsigned int Levels)
FullDependence(llvm::Instruction* Src,
llvm::Instruction* Dst,
bool LoopIndependent,
unsigned int Levels)
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:216
Parameters
- llvm::Instruction* Src
- llvm::Instruction* Dst
- bool LoopIndependent
- unsigned int Levels
¶unsigned int getDirection(
unsigned int Level) const
unsigned int getDirection(
unsigned int Level) const
Description
getDirection - Returns the direction associated with a particular level.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:238
Parameters
- unsigned int Level
¶const llvm::SCEV* getDistance(
unsigned int Level) const
const llvm::SCEV* getDistance(
unsigned int Level) const
Description
getDistance - Returns the distance (or NULL) associated with a particular level.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:242
Parameters
- unsigned int Level
¶unsigned int getLevels() const
unsigned int getLevels() const
Description
getLevels - Returns the number of common loops surrounding the source and destination of the dependence.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:234
¶bool isConfused() const
bool isConfused() const
Description
isConfused - Returns true if this dependence is confused (the compiler understands nothing and makes worst-case assumptions).
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:226
¶bool isConsistent() const
bool isConsistent() const
Description
isConsistent - Returns true if this dependence is consistent (occurs every time the source and destination are executed).
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:230
¶bool isLoopIndependent() const
bool isLoopIndependent() const
Description
isLoopIndependent - Returns true if this is a loop-independent dependence.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:221
¶bool isPeelFirst(unsigned int Level) const
bool isPeelFirst(unsigned int Level) const
Description
isPeelFirst - Returns true if peeling the first iteration from this loop will break this dependence.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:246
Parameters
- unsigned int Level
¶bool isPeelLast(unsigned int Level) const
bool isPeelLast(unsigned int Level) const
Description
isPeelLast - Returns true if peeling the last iteration from this loop will break this dependence.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:250
Parameters
- unsigned int Level
¶bool isScalar(unsigned int Level) const
bool isScalar(unsigned int Level) const
Description
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.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:259
Parameters
- unsigned int Level
¶bool isSplitable(unsigned int Level) const
bool isSplitable(unsigned int Level) const
Description
isSplitable - Returns true if splitting the loop will break the dependence.
Declared at: llvm/include/llvm/Analysis/DependenceAnalysis.h:254
Parameters
- unsigned int Level