LLVM 23.0.0git
llvm::SelectAddr Class Reference

Storage of either a normal Value address, or a select condition together with a pair of addresses for the "true" and "false" variant of a select-dependent address. More...

#include "llvm/Analysis/PHITransAddr.h"

Public Types

using SelectAddrs = std::pair<Value *, Value *>

Public Member Functions

 SelectAddr (Value *Addr)
 SelectAddr (Value *Cond, SelectAddrs Addrs)
bool hasSelectAddrs () const
ValuegetAddr () const
std::pair< Value *, SelectAddrsgetSelectCondAndAddrs () const

Detailed Description

Storage of either a normal Value address, or a select condition together with a pair of addresses for the "true" and "false" variant of a select-dependent address.

If the addresses are not present (both null), V is a normal address; otherwise V is a select condition and the pair holds the "true" and "false" addresses.

Definition at line 31 of file PHITransAddr.h.

Member Typedef Documentation

◆ SelectAddrs

using llvm::SelectAddr::SelectAddrs = std::pair<Value *, Value *>

Definition at line 33 of file PHITransAddr.h.

Constructor & Destructor Documentation

◆ SelectAddr() [1/2]

llvm::SelectAddr::SelectAddr ( Value * Addr)
inline

Definition at line 35 of file PHITransAddr.h.

◆ SelectAddr() [2/2]

llvm::SelectAddr::SelectAddr ( Value * Cond,
SelectAddrs Addrs )
inline

Definition at line 36 of file PHITransAddr.h.

References assert(), Cond, and hasSelectAddrs().

Member Function Documentation

◆ getAddr()

Value * llvm::SelectAddr::getAddr ( ) const
inline

Definition at line 43 of file PHITransAddr.h.

References assert(), and hasSelectAddrs().

◆ getSelectCondAndAddrs()

std::pair< Value *, SelectAddrs > llvm::SelectAddr::getSelectCondAndAddrs ( ) const
inline

Definition at line 48 of file PHITransAddr.h.

References assert(), and hasSelectAddrs().

◆ hasSelectAddrs()

bool llvm::SelectAddr::hasSelectAddrs ( ) const
inline

Definition at line 41 of file PHITransAddr.h.

Referenced by getAddr(), getSelectCondAndAddrs(), and SelectAddr().


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