LLVM 23.0.0git
llvm::NonLocalDepResult Class Reference

This is a result from a NonLocal dependence query. More...

#include "llvm/Analysis/MemoryDependenceAnalysis.h"

Public Member Functions

 NonLocalDepResult (BasicBlock *BB, MemDepResult Result, const SelectAddr &Address)
BasicBlockgetBB () const
void setResult (const MemDepResult &R, const SelectAddr &Addr)
const MemDepResultgetResult () const
SelectAddr getAddress () const
 Returns the address of this pointer in this block.

Detailed Description

This is a result from a NonLocal dependence query.

For each BasicBlock (the BB entry) it keeps a MemDepResult and the (potentially phi translated) address that was live in the block.

Definition at line 244 of file MemoryDependenceAnalysis.h.

Constructor & Destructor Documentation

◆ NonLocalDepResult()

llvm::NonLocalDepResult::NonLocalDepResult ( BasicBlock * BB,
MemDepResult Result,
const SelectAddr & Address )
inline

Definition at line 249 of file MemoryDependenceAnalysis.h.

Member Function Documentation

◆ getAddress()

SelectAddr llvm::NonLocalDepResult::getAddress ( ) const
inline

Returns the address of this pointer in this block.

This can be different than the address queried for the non-local result because of phi translation. This returns null if the address was not available in a block (i.e. because phi translation failed) or if this is a cached result and that address was deleted.

The address is always null for a non-local 'call' dependence.

If the result is a select dependency (

See also
MemDepResult::isSelect), the returned SelectAddr instead carries the select condition and the two translated addresses (true/false side).

Definition at line 275 of file MemoryDependenceAnalysis.h.

◆ getBB()

BasicBlock * llvm::NonLocalDepResult::getBB ( ) const
inline

Definition at line 254 of file MemoryDependenceAnalysis.h.

◆ getResult()

const MemDepResult & llvm::NonLocalDepResult::getResult ( ) const
inline

Definition at line 261 of file MemoryDependenceAnalysis.h.

◆ setResult()

void llvm::NonLocalDepResult::setResult ( const MemDepResult & R,
const SelectAddr & Addr )
inline

Definition at line 256 of file MemoryDependenceAnalysis.h.


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