Detailed dependence between two memory references in a function.
Synopsis
Declared in <llvm/Analysis/DependenceAnalysis.h>
class FullDependence final
: public Dependence
Description
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.
Base Classes
Name |
Description |
Minimal dependence between two memory references in a function. |
Types
Name |
Description |
One level of a dependence distance/direction vector. |
Member Functions
Name |
Description |
|
Construct a full dependence from |
dump ‐ For debugging purposes, dumps a dependence to OS. |
|
dumpImp ‐ For debugging purposes. Dumps a dependence to OS with or without considering the SameSD levels. |
|
getDVEntry ‐ Returns the DV entry associated with a regular or a SameSD level. |
|
|
getDirection ‐ Returns the direction associated with a particular common or SameSD level. |
|
getDistance ‐ Returns the distance (or NULL) associated with a particular common or SameSD level. |
getDst ‐ Returns the destination instruction for this dependence. |
|
|
getLevels ‐ Returns the number of common loops surrounding the source and destination of the dependence. |
getNextPredecessor ‐ Returns the value of the NextPredecessor field. |
|
getNextSuccessor ‐ Returns the value of the NextSuccessor field. |
|
getRuntimeAssumptions ‐ Returns the runtime assumptions under which this Dependence relation is valid. |
|
|
getSameSDLevels ‐ Returns the number of separate SameSD loops surrounding the source and destination of the dependence. |
getSrc ‐ Returns the source instruction for this dependence. |
|
|
inSameSDLoops ‐ Returns true if this level is an SameSD level, i.e., performed across two separate loop nests that have the Same Iteration and Depth. |
isAnti ‐ Returns true if this is an anti dependence. |
|
|
isConfused ‐ Returns true if this dependence is confused (the compiler understands nothing and makes worst‐case assumptions). |
|
Check if the direction vector is negative. A negative direction vector means Src and Dst are reversed in the actual program. |
isFlow ‐ Returns true if this is a flow (aka true) dependence. |
|
isInput ‐ Returns true if this is an input dependence. |
|
|
isLoopIndependent ‐ Returns true if this is a loop‐independent dependence. |
isOrdered ‐ Returns true if dependence is Output, Flow, or Anti |
|
isOutput ‐ Returns true if this is an output dependence. |
|
|
Return true if a particular regular or SameSD level is scalar. |
isUnordered ‐ Returns true if dependence is Input |
|
|
Negate the dependence by swapping the source and destination. |
|
Normalize a negative direction vector to make it non‐negative. |
setNextPredecessor ‐ Sets the value of the NextPredecessor field. |
|
setNextSuccessor ‐ Sets the value of the NextSuccessor field. |
Protected Member Functions
Name |
Description |
Move‐assign this dependence, transferring ownership of linked state. |
Protected Data Members
Friends
Name |
Description |
DependenceInfo ‐ This class is the main dependence‐analysis driver. |
Created with MrDocs