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

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

References llvm_unreachable.

Referenced by llvm::MemoryDependenceResults::getDependency(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::MemoryDependenceResults::removeInstruction(), 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 144 of file MemoryDependenceAnalysis.h.

Referenced by isLocal().

◆ isDef()

bool llvm::MemDepResult::isDef ( ) const
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().

◆ isLocal()

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

Tests if this MemDepResult represents a valid local query (Clobber/Def).

Definition at line 151 of file MemoryDependenceAnalysis.h.

References isClobber(), and isDef().

◆ 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 161 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 155 of file MemoryDependenceAnalysis.h.

Referenced by llvm::MemoryDependenceResults::getNonLocalCallDependency(), and 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 167 of file MemoryDependenceAnalysis.h.

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

◆ operator!=()

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

Definition at line 188 of file MemoryDependenceAnalysis.h.

◆ operator<()

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

Definition at line 189 of file MemoryDependenceAnalysis.h.

◆ operator==()

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

Definition at line 187 of file MemoryDependenceAnalysis.h.

◆ operator>()

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

Definition at line 190 of file MemoryDependenceAnalysis.h.

Friends And Related Function Documentation

◆ MemoryDependenceResults

friend class MemoryDependenceResults
friend

Definition at line 193 of file MemoryDependenceAnalysis.h.


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