LLVM  14.0.0git
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 "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...
 
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 37 of file MemoryDependenceAnalysis.h.

Constructor & Destructor Documentation

◆ MemDepResult()

llvm::MemDepResult::MemDepResult ( )
default

Member Function Documentation

◆ getClobber()

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

◆ getDef()

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

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

Definition at line 119 of file MemoryDependenceAnalysis.h.

References assert(), and MemDepResult().

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

◆ getInst()

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 165 of file MemoryDependenceAnalysis.h.

References llvm_unreachable.

Referenced by llvm::MemoryDependenceResults::getDependency(), and reportMayClobberedLoad().

◆ getNonFuncLocal()

static MemDepResult llvm::MemDepResult::getNonFuncLocal ( )
inlinestatic

◆ getNonLocal()

static MemDepResult llvm::MemDepResult::getNonLocal ( )
inlinestatic

◆ getUnknown()

static MemDepResult llvm::MemDepResult::getUnknown ( )
inlinestatic

◆ isClobber()

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

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

Definition at line 139 of file MemoryDependenceAnalysis.h.

◆ isDef()

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

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

Definition at line 143 of file MemoryDependenceAnalysis.h.

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

◆ isNonFuncLocal()

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 153 of file MemoryDependenceAnalysis.h.

◆ isNonLocal()

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 147 of file MemoryDependenceAnalysis.h.

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

◆ isUnknown()

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

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

Definition at line 159 of file MemoryDependenceAnalysis.h.

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

◆ operator!=()

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

Definition at line 180 of file MemoryDependenceAnalysis.h.

References M.

◆ operator<()

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

Definition at line 181 of file MemoryDependenceAnalysis.h.

References M.

◆ operator==()

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

Definition at line 179 of file MemoryDependenceAnalysis.h.

References M.

◆ operator>()

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

Definition at line 182 of file MemoryDependenceAnalysis.h.

References M.

Friends And Related Function Documentation

◆ MemoryDependenceResults

friend class MemoryDependenceResults
friend

Definition at line 185 of file MemoryDependenceAnalysis.h.


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