LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::MemDepResult Class Reference

A memory dependence query can return one of three different answers. More...

#include <MemoryDependenceAnalysis.h>

Public Member Functions

 MemDepResult ()
 
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...
 
InstructiongetInst () 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
 

Detailed Description

A memory dependence query can return one of three different answers.

Definition at line 40 of file MemoryDependenceAnalysis.h.

Constructor & Destructor Documentation

llvm::MemDepResult::MemDepResult ( )
inline

Member Function Documentation

static MemDepResult llvm::MemDepResult::getClobber ( Instruction Inst)
inlinestatic
static MemDepResult llvm::MemDepResult::getDef ( Instruction Inst)
inlinestatic

get methods: These are static ctor methods for creating various MemDepResult kinds.

Definition at line 122 of file MemoryDependenceAnalysis.h.

References assert(), and MemDepResult().

Referenced by llvm::MemoryDependenceResults::getInvariantGroupPointerDependency(), and llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().

Instruction* llvm::MemDepResult::getInst ( ) const
inline

If this is a normal dependency, returns the instruction that is depended on.

Otherwise, returns null.

Definition at line 168 of file MemoryDependenceAnalysis.h.

References llvm_unreachable.

Referenced by eliminateDeadStores(), llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), handleFree(), llvm::MemoryDependenceResults::removeInstruction(), and reportMayClobberedLoad().

static MemDepResult llvm::MemDepResult::getNonFuncLocal ( )
inlinestatic
static MemDepResult llvm::MemDepResult::getNonLocal ( )
inlinestatic
static MemDepResult llvm::MemDepResult::getUnknown ( )
inlinestatic
bool llvm::MemDepResult::isClobber ( ) const
inline

Tests if this MemDepResult represents a query that is an instruction clobber dependency.

Definition at line 142 of file MemoryDependenceAnalysis.h.

Referenced by eliminateDeadStores(), and handleFree().

bool llvm::MemDepResult::isDef ( ) const
inline

Tests if this MemDepResult represents a query that is an instruction definition dependency.

Definition at line 146 of file MemoryDependenceAnalysis.h.

Referenced by eliminateDeadStores(), llvm::MemoryDependenceResults::getPointerDependencyFrom(), and handleFree().

bool llvm::MemDepResult::isNonFuncLocal ( ) const
inline

Tests if this MemDepResult represents a query that is transparent to the start of the function.

Definition at line 156 of file MemoryDependenceAnalysis.h.

bool llvm::MemDepResult::isNonLocal ( ) const
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 150 of file MemoryDependenceAnalysis.h.

Referenced by llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::MemoryDependenceResults::getPointerDependencyFrom(), and handleFree().

bool llvm::MemDepResult::isUnknown ( ) const
inline

Tests if this MemDepResult represents a query which cannot and/or will not be computed.

Definition at line 162 of file MemoryDependenceAnalysis.h.

Referenced by llvm::MemoryDependenceResults::getPointerDependencyFrom().

bool llvm::MemDepResult::operator!= ( const MemDepResult M) const
inline

Definition at line 183 of file MemoryDependenceAnalysis.h.

bool llvm::MemDepResult::operator< ( const MemDepResult M) const
inline

Definition at line 184 of file MemoryDependenceAnalysis.h.

bool llvm::MemDepResult::operator== ( const MemDepResult M) const
inline

Definition at line 182 of file MemoryDependenceAnalysis.h.

bool llvm::MemDepResult::operator> ( const MemDepResult M) const
inline

Definition at line 185 of file MemoryDependenceAnalysis.h.

Friends And Related Function Documentation

friend class MemoryDependenceResults
friend

Definition at line 188 of file MemoryDependenceAnalysis.h.


The documentation for this class was generated from the following file: