Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
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 36 of file MemoryDependenceAnalysis.h.

Constructor & Destructor Documentation

◆ MemDepResult()

llvm::MemDepResult::MemDepResult ( )
default

Member Function Documentation

◆ getClobber()

◆ getDef()

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

References llvm_unreachable.

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

◆ getNonFuncLocal()

◆ getNonLocal()

◆ getUnknown()

◆ isClobber()

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

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

Definition at line 143 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 147 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 150 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 160 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 154 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 166 of file MemoryDependenceAnalysis.h.

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

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

◆ operator==()

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

Definition at line 186 of file MemoryDependenceAnalysis.h.

◆ operator>()

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

Definition at line 189 of file MemoryDependenceAnalysis.h.

◆ MemoryDependenceResults

friend class MemoryDependenceResults
friend

Definition at line 192 of file MemoryDependenceAnalysis.h.

References MemoryDependenceResults.

Referenced by MemoryDependenceResults.


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