LLVM 20.0.0git
|
A memory dependence query can return one of three different answers. More...
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
Public Member Functions | |
MemDepResult ()=default | |
bool | isClobber () const |
Tests if this MemDepResult represents a query that is an instruction clobber dependency. | |
bool | isDef () const |
Tests if this MemDepResult represents a query that is an instruction definition dependency. | |
bool | isLocal () const |
Tests if this MemDepResult represents a valid local query (Clobber/Def). | |
bool | isNonLocal () const |
Tests if this MemDepResult represents a query that is transparent to the start of the block, but where a non-local hasn't been done. | |
bool | isNonFuncLocal () const |
Tests if this MemDepResult represents a query that is transparent to the start of the function. | |
bool | isUnknown () const |
Tests if this MemDepResult represents a query which cannot and/or will not be computed. | |
Instruction * | getInst () const |
If this is a normal dependency, returns the instruction that is depended on. | |
bool | operator== (const MemDepResult &M) const |
bool | operator!= (const MemDepResult &M) const |
bool | operator< (const MemDepResult &M) const |
bool | operator> (const MemDepResult &M) const |
Static Public Member Functions | |
static MemDepResult | getDef (Instruction *Inst) |
get methods: These are static ctor methods for creating various MemDepResult kinds. | |
static MemDepResult | getClobber (Instruction *Inst) |
static MemDepResult | getNonLocal () |
static MemDepResult | getNonFuncLocal () |
static MemDepResult | getUnknown () |
Friends | |
class | MemoryDependenceResults |
A memory dependence query can return one of three different answers.
Definition at line 37 of file MemoryDependenceAnalysis.h.
|
default |
Referenced by getClobber(), getDef(), getNonFuncLocal(), getNonLocal(), and getUnknown().
|
inlinestatic |
Definition at line 128 of file MemoryDependenceAnalysis.h.
References assert(), and MemDepResult().
Referenced by llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inlinestatic |
get methods: These are static ctor methods for creating various MemDepResult kinds.
Definition at line 124 of file MemoryDependenceAnalysis.h.
References assert(), and MemDepResult().
Referenced by llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inline |
If this is a normal dependency, returns the instruction that is depended on.
Otherwise, returns null.
Definition at line 173 of file MemoryDependenceAnalysis.h.
References llvm_unreachable.
Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::MemoryDependenceResults::removeInstruction(), and reportMayClobberedLoad().
|
inlinestatic |
Definition at line 135 of file MemoryDependenceAnalysis.h.
References MemDepResult().
Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inlinestatic |
Definition at line 132 of file MemoryDependenceAnalysis.h.
References MemDepResult().
Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inlinestatic |
Definition at line 138 of file MemoryDependenceAnalysis.h.
References MemDepResult().
Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), llvm::MemoryDependenceResults::getNonLocalPointerDependency(), llvm::MemoryDependenceResults::getPointerDependencyFrom(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inline |
Tests if this MemDepResult represents a query that is an instruction clobber dependency.
Definition at line 144 of file MemoryDependenceAnalysis.h.
Referenced by isLocal().
|
inline |
Tests if this MemDepResult represents a query that is an instruction definition dependency.
Definition at line 148 of file MemoryDependenceAnalysis.h.
Referenced by llvm::MemoryDependenceResults::getPointerDependencyFrom(), and isLocal().
|
inline |
Tests if this MemDepResult represents a valid local query (Clobber/Def).
Definition at line 151 of file MemoryDependenceAnalysis.h.
References isClobber(), and isDef().
|
inline |
Tests if this MemDepResult represents a query that is transparent to the start of the function.
Definition at line 161 of file MemoryDependenceAnalysis.h.
|
inline |
Tests if this MemDepResult represents a query that is transparent to the start of the block, but where a non-local hasn't been done.
Definition at line 155 of file MemoryDependenceAnalysis.h.
Referenced by llvm::MemoryDependenceResults::getNonLocalCallDependency(), and llvm::MemoryDependenceResults::getPointerDependencyFrom().
|
inline |
Tests if this MemDepResult represents a query which cannot and/or will not be computed.
Definition at line 167 of file MemoryDependenceAnalysis.h.
Referenced by llvm::MemoryDependenceResults::getPointerDependencyFrom().
|
inline |
Definition at line 188 of file MemoryDependenceAnalysis.h.
|
inline |
Definition at line 189 of file MemoryDependenceAnalysis.h.
|
inline |
Definition at line 187 of file MemoryDependenceAnalysis.h.
|
inline |
Definition at line 190 of file MemoryDependenceAnalysis.h.
|
friend |
Definition at line 193 of file MemoryDependenceAnalysis.h.