LLVM 22.0.0git
llvm::sandboxir::Constant Class Reference

#include "llvm/SandboxIR/Constant.h"

Inheritance diagram for llvm::sandboxir::Constant:
[legend]

Public Member Functions

sandboxir::ContextgetParent () const
unsigned getUseOperandNo (const Use &Use) const override
 \Returns the operand index of Use.
void verify () const override
 Should crash if there is something wrong with the instruction.
void dumpOS (raw_ostream &OS) const override
Public Member Functions inherited from llvm::sandboxir::User
virtual op_iterator op_begin ()
virtual op_iterator op_end ()
virtual const_op_iterator op_begin () const
virtual const_op_iterator op_end () const
op_range operands ()
const_op_range operands () const
ValuegetOperand (unsigned OpIdx) const
Use getOperandUse (unsigned OpIdx) const
 \Returns the operand edge for OpIdx.
virtual unsigned getNumOperands () const
virtual void setOperand (unsigned OperandIdx, Value *Operand)
bool replaceUsesOfWith (Value *FromV, Value *ToV)
 Replaces any operands that match FromV with ToV.
void verify () const override
 Should crash if there is something wrong with the instruction.
void dumpCommonHeader (raw_ostream &OS) const final
void dumpOS (raw_ostream &OS) const override
Public Member Functions inherited from llvm::sandboxir::Value
virtual ~Value ()=default
ClassID getSubclassID () const
LLVM_ABI use_iterator use_begin ()
const_use_iterator use_begin () const
use_iterator use_end ()
const_use_iterator use_end () const
iterator_range< use_iteratoruses ()
iterator_range< const_use_iteratoruses () const
LLVM_ABI user_iterator user_begin ()
user_iterator user_end ()
const_user_iterator user_begin () const
const_user_iterator user_end () const
iterator_range< user_iteratorusers ()
iterator_range< const_user_iteratorusers () const
LLVM_ABI unsigned getNumUses () const
 \Returns the number of user edges (not necessarily to unique users).
bool hasNUsesOrMore (unsigned Num) const
 Return true if this value has N uses or more.
bool hasNUses (unsigned Num) const
 Return true if this Value has exactly N uses.
LLVM_ABI TypegetType () const
ContextgetContext () const
LLVM_ABI void replaceUsesWithIf (Value *OtherV, llvm::function_ref< bool(const Use &)> ShouldReplace)
LLVM_ABI void replaceAllUsesWith (Value *Other)
StringRef getName () const
 \Returns the LLVM IR name of the bottom-most LLVM value.
std::string getUid () const
 Returns the unique id in the form 'SB<number>.' like 'SB1.'.
void dumpCommonFooter (raw_ostream &OS) const
void dumpCommonPrefix (raw_ostream &OS) const
void dumpCommonSuffix (raw_ostream &OS) const
void printAsOperandCommon (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const

Static Public Member Functions

static bool classof (const sandboxir::Value *From)
 For isa/dyn_cast.
Static Public Member Functions inherited from llvm::sandboxir::User
static bool classof (const Value *From)
 For isa/dyn_cast.

Protected Member Functions

 Constant (llvm::Constant *C, sandboxir::Context &SBCtx)
 Constant (ClassID ID, llvm::Constant *C, sandboxir::Context &SBCtx)
Use getOperandUseInternal (unsigned OpIdx, bool Verify) const override
 \Returns the Use for the OpIdx'th operand.
Protected Member Functions inherited from llvm::sandboxir::User
 User (ClassID ID, llvm::Value *V, Context &Ctx)
Use getOperandUseDefault (unsigned OpIdx, bool Verify) const
 \Returns the Use edge that corresponds to OpIdx.
unsigned getUseOperandNoDefault (const Use &Use) const
 The default implementation works only for single-LLVMIR-instruction Users and only if they match exactly the LLVM instruction.
void swapOperandsInternal (unsigned OpIdxA, unsigned OpIdxB)
void verifyUserOfLLVMUse (const llvm::Use &Use) const
Protected Member Functions inherited from llvm::sandboxir::Value
void clearValue ()
LLVM_ABI Value (ClassID SubclassID, llvm::Value *Val, Context &Ctx)
 Value (const Value &)=delete
 Disable copies.
Valueoperator= (const Value &)=delete

Friends

class ConstantInt
class Function
class Context

Additional Inherited Members

Public Types inherited from llvm::sandboxir::User
using op_iterator = OperandUseIterator
using const_op_iterator = OperandUseIterator
using op_range = iterator_range<op_iterator>
using const_op_range = iterator_range<const_op_iterator>
Public Types inherited from llvm::sandboxir::Value
enum class  ClassID : unsigned
using use_iterator = UserUseIterator
using const_use_iterator = UserUseIterator
using user_iterator = mapped_iterator<sandboxir::UserUseIterator, UseToUser>
using const_user_iterator = user_iterator
Static Protected Member Functions inherited from llvm::sandboxir::Value
static const chargetSubclassIDStr (ClassID ID)
Protected Attributes inherited from llvm::sandboxir::Value
ClassID SubclassID
 For isa/dyn_cast.
unsigned UID
 A unique ID used for forming the name (used for debugging).
llvm::ValueVal = nullptr
 The LLVM Value that corresponds to this SandboxIR Value.
ContextCtx
 All values point to the context.

Detailed Description

Definition at line 32 of file Constant.h.

Constructor & Destructor Documentation

◆ Constant() [1/2]

llvm::sandboxir::Constant::Constant ( llvm::Constant * C,
sandboxir::Context & SBCtx )
inlineprotected

Definition at line 34 of file Constant.h.

References llvm::CallingConv::C, Constant(), and llvm::sandboxir::User::User().

Referenced by Constant(), llvm::sandboxir::ConstantAggregate::ConstantAggregate(), llvm::sandboxir::ConstantDataSequential::ConstantDataSequential(), llvm::sandboxir::ConstantAggregateZero::Context, llvm::sandboxir::ConstantFP::Context, llvm::sandboxir::ConstantPtrAuth::Context, llvm::sandboxir::UndefValue::Context, llvm::sandboxir::ConstantFP::get(), llvm::sandboxir::ConstantFP::get(), llvm::sandboxir::ConstantFP::get(), llvm::sandboxir::ConstantInt::get(), llvm::sandboxir::ConstantPtrAuth::get(), llvm::sandboxir::ConstantPtrAuth::getAddrDiscriminator(), llvm::sandboxir::ConstantInt::getBool(), llvm::sandboxir::ConstantDataSequential::getElementAsConstant(), llvm::sandboxir::ConstantAggregateZero::getElementValue(), llvm::sandboxir::ConstantAggregateZero::getElementValue(), llvm::sandboxir::UndefValue::getElementValue(), llvm::sandboxir::ConstantInt::getFalse(), llvm::sandboxir::ConstantFP::getInfinity(), llvm::sandboxir::ConstantFP::getNaN(), llvm::sandboxir::ConstantFP::getNegativeZero(), llvm::sandboxir::ConstantPtrAuth::getPointer(), llvm::sandboxir::ConstantFP::getQNaN(), llvm::sandboxir::ConstantAggregateZero::getSequentialElement(), llvm::sandboxir::ConstantInt::getSigned(), llvm::sandboxir::ConstantFP::getSNaN(), llvm::sandboxir::ConstantAggregateZero::getStructElement(), llvm::sandboxir::ConstantInt::getTrue(), llvm::sandboxir::ConstantPtrAuth::getWithSameSchema(), llvm::sandboxir::ConstantFP::getZero(), llvm::sandboxir::GlobalValue::GlobalValue(), llvm::sandboxir::UndefValue::UndefValue(), and llvm::sandboxir::UndefValue::UndefValue().

◆ Constant() [2/2]

llvm::sandboxir::Constant::Constant ( ClassID ID,
llvm::Constant * C,
sandboxir::Context & SBCtx )
inlineprotected

Definition at line 36 of file Constant.h.

References llvm::CallingConv::C, and llvm::sandboxir::User::User().

Member Function Documentation

◆ classof()

bool llvm::sandboxir::Constant::classof ( const sandboxir::Value * From)
inlinestatic

For isa/dyn_cast.

Definition at line 47 of file Constant.h.

References llvm::sandboxir::Value::getSubclassID().

◆ dumpOS()

◆ getOperandUseInternal()

Use llvm::sandboxir::Constant::getOperandUseInternal ( unsigned OpIdx,
bool Verify ) const
inlineoverrideprotectedvirtual

\Returns the Use for the OpIdx'th operand.

This is virtual to allow instructions to deviate from the LLVM IR operands, which is a requirement for sandboxir Instructions that consist of more than one LLVM Instruction.

Implements llvm::sandboxir::User.

Reimplemented in llvm::sandboxir::GlobalObject.

Definition at line 41 of file Constant.h.

References llvm::sandboxir::User::getOperandUseDefault(), OpIdx, and Verify.

◆ getParent()

sandboxir::Context & llvm::sandboxir::Constant::getParent ( ) const
inline

Definition at line 56 of file Constant.h.

References llvm::sandboxir::getContext().

◆ getUseOperandNo()

◆ verify()

◆ ConstantInt

◆ Context

◆ Function


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