LLVM
8.0.1
|
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. More... | |
bool | isDef () const |
Tests if this MemDepResult represents a query that is an instruction definition dependency. More... | |
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. More... | |
bool | isNonFuncLocal () const |
Tests if this MemDepResult represents a query that is transparent to the start of the function. More... | |
bool | isUnknown () const |
Tests if this MemDepResult represents a query which cannot and/or will not be computed. More... | |
Instruction * | getInst () const |
If this is a normal dependency, returns the instruction that is depended on. More... | |
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. More... | |
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 50 of file MemoryDependenceAnalysis.h.
|
default |
Referenced by getClobber(), getDef(), getNonFuncLocal(), getNonLocal(), and getUnknown().
|
inlinestatic |
Definition at line 136 of file MemoryDependenceAnalysis.h.
References assert(), and MemDepResult().
Referenced by GetLocation(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inlinestatic |
get methods: These are static ctor methods for creating various MemDepResult kinds.
Definition at line 132 of file MemoryDependenceAnalysis.h.
References assert(), and MemDepResult().
Referenced by llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), GetLocation(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inline |
If this is a normal dependency, returns the instruction that is depended on.
Otherwise, returns null.
Definition at line 178 of file MemoryDependenceAnalysis.h.
References llvm_unreachable.
Referenced by llvm::GVN::ValueTable::add(), eliminateDeadStores(), llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::MemoryDependenceResults::getNonLocalPointerDependency(), handleFree(), hasUndefContents(), moveUp(), llvm::MemoryDependenceResults::removeInstruction(), and reportMayClobberedLoad().
|
inlinestatic |
Definition at line 143 of file MemoryDependenceAnalysis.h.
References MemDepResult().
Referenced by llvm::MemoryDependenceResults::getDependency(), GetLocation(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inlinestatic |
Definition at line 140 of file MemoryDependenceAnalysis.h.
References MemDepResult().
Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), GetLocation(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inlinestatic |
Definition at line 146 of file MemoryDependenceAnalysis.h.
References MemDepResult().
Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), GetLocation(), llvm::MemoryDependenceResults::getNonLocalPointerDependency(), llvm::MemoryDependenceResults::getPointerDependencyFrom(), llvm::MemoryDependenceResults::getSimplePointerDependencyFrom(), and SortNonLocalDepInfoCache().
|
inline |
Tests if this MemDepResult represents a query that is an instruction clobber dependency.
Definition at line 152 of file MemoryDependenceAnalysis.h.
Referenced by eliminateDeadStores(), llvm::MemoryDependenceResults::getNonLocalPointerDependency(), handleFree(), hasUndefContents(), moveUp(), patchAndReplaceAllUsesWith(), and reportMayClobberedLoad().
|
inline |
Tests if this MemDepResult represents a query that is an instruction definition dependency.
Definition at line 156 of file MemoryDependenceAnalysis.h.
Referenced by llvm::GVN::ValueTable::add(), eliminateDeadStores(), llvm::MemoryDependenceResults::getNonLocalPointerDependency(), llvm::MemoryDependenceResults::getPointerDependencyFrom(), handleFree(), hasUndefContents(), patchAndReplaceAllUsesWith(), and reportMayClobberedLoad().
|
inline |
Tests if this MemDepResult represents a query that is transparent to the start of the function.
Definition at line 166 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 160 of file MemoryDependenceAnalysis.h.
Referenced by llvm::GVN::ValueTable::add(), llvm::createMemDepPrinter(), llvm::MemoryDependenceResults::getPointerDependencyFrom(), handleFree(), patchAndReplaceAllUsesWith(), and SortNonLocalDepInfoCache().
|
inline |
Tests if this MemDepResult represents a query which cannot and/or will not be computed.
Definition at line 172 of file MemoryDependenceAnalysis.h.
Referenced by llvm::MemoryDependenceResults::getPointerDependencyFrom().
|
inline |
Definition at line 193 of file MemoryDependenceAnalysis.h.
|
inline |
Definition at line 194 of file MemoryDependenceAnalysis.h.
|
inline |
Definition at line 192 of file MemoryDependenceAnalysis.h.
|
inline |
Definition at line 195 of file MemoryDependenceAnalysis.h.
|
friend |
Definition at line 198 of file MemoryDependenceAnalysis.h.