LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::sandboxir::ConstantAggregateZero Class Referencefinal

#include "llvm/SandboxIR/Constant.h"

Inheritance diagram for llvm::sandboxir::ConstantAggregateZero:
Inheritance graph
[legend]

Public Member Functions

ConstantgetSequentialElement () const
 If this CAZ has array or vector type, return a zero with the right element type.
 
ConstantgetStructElement (unsigned Elt) const
 If this CAZ has struct type, return a zero with the right element type for the specified element.
 
ConstantgetElementValue (Constant *C) const
 Return a zero of the right value for the specified GEP index if we can, otherwise return null (e.g.
 
ConstantgetElementValue (unsigned Idx) const
 Return a zero of the right value for the specified GEP index.
 
ElementCount getElementCount () const
 Return the number of elements in the array, vector, or struct.
 
unsigned getUseOperandNo (const Use &Use) const final
 \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::Constant
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
 
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
 
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
 
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.
 
TypegetType () const
 
ContextgetContext () const
 
void replaceUsesWithIf (Value *OtherV, llvm::function_ref< bool(const Use &)> ShouldReplace)
 
void replaceAllUsesWith (Value *Other)
 
StringRef getName () const
 \Returns the LLVM IR name of the bottom-most LLVM value.
 
virtual void verify () const =0
 Should crash if there is something wrong with the instruction.
 
std::string getUid () const
 Returns the unique id in the form 'SB<number>.' like 'SB1.'.
 
virtual void dumpCommonHeader (raw_ostream &OS) const
 
void dumpCommonFooter (raw_ostream &OS) const
 
void dumpCommonPrefix (raw_ostream &OS) const
 
void dumpCommonSuffix (raw_ostream &OS) const
 
void printAsOperandCommon (raw_ostream &OS) const
 
virtual void dumpOS (raw_ostream &OS) const =0
 
LLVM_DUMP_METHOD void dump () const
 

Static Public Member Functions

static ConstantAggregateZeroget (Type *Ty)
 
static bool classof (const sandboxir::Value *From)
 For isa/dyn_cast.
 
- Static Public Member Functions inherited from llvm::sandboxir::Constant
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.
 

Friends

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 { DEF_VALUE , DEF_USER , DEF_CONST , DEF_INSTR }
 
using use_iterator = UserUseIterator
 
using const_use_iterator = UserUseIterator
 
using user_iterator = mapped_iterator< sandboxir::UserUseIterator, UseToUser >
 
using const_user_iterator = user_iterator
 
- Protected Member Functions inherited from llvm::sandboxir::Constant
 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.
 
virtual Use getOperandUseInternal (unsigned OpIdx, bool Verify) const =0
 \Returns the Use for the OpIdx'th operand.
 
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.
 
virtual unsigned getUseOperandNo (const Use &Use) const =0
 \Returns the operand index of Use.
 
void swapOperandsInternal (unsigned OpIdxA, unsigned OpIdxB)
 
void verifyUserOfLLVMUse (const llvm::Use &Use) const
 
- Protected Member Functions inherited from llvm::sandboxir::Value
void clearValue ()
 
 Value (ClassID SubclassID, llvm::Value *Val, Context &Ctx)
 
 Value (const Value &)=delete
 Disable copies.
 
Valueoperator= (const Value &)=delete
 
- 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 436 of file Constant.h.

Member Function Documentation

◆ classof()

static bool llvm::sandboxir::ConstantAggregateZero::classof ( const sandboxir::Value From)
inlinestatic

For isa/dyn_cast.

Definition at line 460 of file Constant.h.

References From.

◆ dumpOS()

void llvm::sandboxir::ConstantAggregateZero::dumpOS ( raw_ostream OS) const
inlineoverridevirtual

◆ get()

ConstantAggregateZero * llvm::sandboxir::ConstantAggregateZero::get ( Type Ty)
static

◆ getElementCount()

ElementCount llvm::sandboxir::ConstantAggregateZero::getElementCount ( ) const
inline

Return the number of elements in the array, vector, or struct.

Definition at line 455 of file Constant.h.

References llvm::sandboxir::Value::Val.

◆ getElementValue() [1/2]

Constant * llvm::sandboxir::ConstantAggregateZero::getElementValue ( Constant C) const

Return a zero of the right value for the specified GEP index if we can, otherwise return null (e.g.

if C is a ConstantExpr).

Definition at line 191 of file Constant.cpp.

References llvm::CallingConv::C, llvm::sandboxir::Value::Ctx, llvm::sandboxir::Context::getValue(), and llvm::sandboxir::Value::Val.

◆ getElementValue() [2/2]

Constant * llvm::sandboxir::ConstantAggregateZero::getElementValue ( unsigned  Idx) const

Return a zero of the right value for the specified GEP index.

Definition at line 196 of file Constant.cpp.

References llvm::sandboxir::Value::Ctx, llvm::sandboxir::Context::getValue(), Idx, and llvm::sandboxir::Value::Val.

◆ getSequentialElement()

Constant * llvm::sandboxir::ConstantAggregateZero::getSequentialElement ( ) const

If this CAZ has array or vector type, return a zero with the right element type.

Definition at line 183 of file Constant.cpp.

References llvm::sandboxir::Value::Ctx, llvm::sandboxir::Context::getValue(), and llvm::sandboxir::Value::Val.

◆ getStructElement()

Constant * llvm::sandboxir::ConstantAggregateZero::getStructElement ( unsigned  Elt) const

If this CAZ has struct type, return a zero with the right element type for the specified element.

Definition at line 187 of file Constant.cpp.

References llvm::sandboxir::Value::Ctx, llvm::sandboxir::Context::getValue(), and llvm::sandboxir::Value::Val.

◆ getUseOperandNo()

unsigned llvm::sandboxir::ConstantAggregateZero::getUseOperandNo ( const Use Use) const
inlinefinalvirtual

\Returns the operand index of Use.

Reimplemented from llvm::sandboxir::Constant.

Definition at line 463 of file Constant.h.

References llvm_unreachable.

◆ verify()

void llvm::sandboxir::ConstantAggregateZero::verify ( ) const
inlineoverridevirtual

Should crash if there is something wrong with the instruction.

Reimplemented from llvm::sandboxir::Constant.

Definition at line 467 of file Constant.h.

References assert(), and llvm::sandboxir::Value::Val.

Friends And Related Function Documentation

◆ Context

friend class Context
friend

Definition at line 439 of file Constant.h.


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