LLVM: llvm::sandboxir::GlobalVariable Class Reference (original) (raw)

#include "[llvm/SandboxIR/Constant.h](SandboxIR%5F2Constant%5F8h%5Fsource.html)"

Public Member Functions
bool hasInitializer () const
Definitions have initializers, declarations don't.
bool hasDefinitiveInitializer () const
hasDefinitiveInitializer - Whether the global variable has an initializer, and any other instances of the global (this can happen due to weak linkage) are guaranteed to have the same initializer.
bool hasUniqueInitializer () const
hasUniqueInitializer - Whether the global variable has an initializer, and any changes made to the initializer will turn up in the final executable.
LLVM_ABI Constant * getInitializer () const
getInitializer - Return the initializer for this global variable.
LLVM_ABI void setInitializer (Constant *InitVal)
setInitializer - Sets the initializer for this global variable, removing any existing initializer if InitVal==NULL.
bool isConstant () const
If the value is a global constant, its value is immutable throughout the runtime execution of the program.
LLVM_ABI void setConstant (bool V)
bool isExternallyInitialized () const
LLVM_ABI void setExternallyInitialized (bool Val)
bool hasAttribute (Attribute::AttrKind Kind) const
Return true if the attribute exists.
bool hasAttribute (StringRef Kind) const
Return true if the attribute exists.
bool hasAttributes () const
Return true if any attributes exist.
Attribute getAttribute (Attribute::AttrKind Kind) const
Return the attribute object.
Attribute getAttribute (StringRef Kind) const
Return the attribute object.
AttributeSet getAttributes () const
Return the attribute set for this global.
AttributeList getAttributesAsList (unsigned Index) const
Return attribute set as list with index.
bool hasImplicitSection () const
Check if section name is present.
unsigned getCodeModelRaw () const
Get the custom code model raw value of this global.
std::optional< CodeModel::Model > getCodeModel () const
Get the custom code model of this global if it has one.
MaybeAlign getAlign () const
Returns the alignment of the given variable.
LLVM_ABI void setAlignment (MaybeAlign Align)
Sets the alignment attribute of the GlobalVariable.
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::GlobalWithNodeAPI< GlobalVariable, llvm::GlobalVariable, GlobalObject, llvm::GlobalObject >
GlobalWithNodeAPI (Value::ClassID ID, llvm::GlobalObject *C, Context &Ctx)
Module * getParent () const
iterator getIterator () const
reverse_iterator getReverseIterator () const
Public Member Functions inherited from llvm::sandboxir::GlobalObject
unsigned getUseOperandNo (const Use &Use) const final
\Returns the operand index of Use.
bool hasSection () const
Check if this global has a custom object file section.
StringRef getSection () const
Get the custom section of this global if it has one.
LLVM_ABI void setSection (StringRef S)
Change the section for this global.
bool hasComdat () const
VCallVisibility getVCallVisibility () const
bool canIncreaseAlignment () const
Returns true if the alignment of the value can be unilaterally increased.
Public Member Functions inherited from llvm::sandboxir::GlobalValue
unsigned getAddressSpace () const
bool hasGlobalUnnamedAddr () const
bool hasAtLeastLocalUnnamedAddr () const
Returns true if this value's address is not significant in this module.
UnnamedAddr getUnnamedAddr () const
LLVM_ABI void setUnnamedAddr (UnnamedAddr V)
bool hasComdat () const
VisibilityTypes getVisibility () const
bool hasDefaultVisibility () const
bool hasHiddenVisibility () const
bool hasProtectedVisibility () const
LLVM_ABI void setVisibility (VisibilityTypes V)
Public Member Functions inherited from llvm::sandboxir::Constant
sandboxir::Context & getParent () const
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
Value * getOperand (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_iterator > uses ()
iterator_range< const_use_iterator > uses () 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_iterator > users ()
iterator_range< const_user_iterator > users () 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 Type * getType () const
Context & getContext () 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.' 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::GlobalObject
static bool classof (const sandboxir::Value *From)
For isa/dyn_cast.
Static Public Member Functions inherited from llvm::sandboxir::GlobalValue
static bool classof (const sandboxir::Value *From)
For isa/dyn_cast.
static UnnamedAddr getMinUnnamedAddr (UnnamedAddr A, UnnamedAddr B)
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.
Additional Inherited Members
Public Types inherited from llvm::sandboxir::GlobalWithNodeAPI< GlobalVariable, llvm::GlobalVariable, GlobalObject, llvm::GlobalObject >
using iterator
using reverse_iterator
Public Types inherited from llvm::sandboxir::GlobalObject
using VCallVisibility = llvm::GlobalObject::VCallVisibility
Public Types inherited from llvm::sandboxir::GlobalValue
using LinkageTypes = llvm::GlobalValue::LinkageTypes
using UnnamedAddr = llvm::GlobalValue::UnnamedAddr
using VisibilityTypes = llvm::GlobalValue::VisibilityTypes
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
Protected Member Functions inherited from llvm::sandboxir::GlobalObject
GlobalObject (ClassID ID, llvm::GlobalObject *C, Context &Ctx)
Use getOperandUseInternal (unsigned OpIdx, bool Verify) const final
\Returns the Use for the OpIdx'th operand.
Protected Member Functions inherited from llvm::sandboxir::GlobalValue
GlobalValue (ClassID ID, llvm::GlobalValue *C, Context &Ctx)
Protected Member Functions inherited from llvm::sandboxir::Constant
Constant (llvm::Constant *C, sandboxir::Context &SBCtx)
Constant (ClassID ID, llvm::Constant *C, sandboxir::Context &SBCtx)
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.
Value & operator= (const Value &)=delete
Static Protected Member Functions inherited from llvm::sandboxir::Value
static const char * getSubclassIDStr (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::Value * Val = nullptr
The LLVM Value that corresponds to this SandboxIR Value.
Context & Ctx
All values point to the context.

Definition at line 1121 of file Constant.h.

classof()

dumpOS()

void llvm::sandboxir::GlobalVariable::dumpOS ( raw_ostream & OS) const inlineoverridevirtual

getAlign()

MaybeAlign llvm::sandboxir::GlobalVariable::getAlign ( ) const inline

getAttribute() [1/2]

getAttribute() [2/2]

getAttributes()

AttributeSet llvm::sandboxir::GlobalVariable::getAttributes ( ) const inline

getAttributesAsList()

AttributeList llvm::sandboxir::GlobalVariable::getAttributesAsList ( unsigned Index) const inline

getCodeModel()

std::optional< CodeModel::Model > llvm::sandboxir::GlobalVariable::getCodeModel ( ) const inline

getCodeModelRaw()

unsigned llvm::sandboxir::GlobalVariable::getCodeModelRaw ( ) const inline

getInitializer()

Constant * llvm::sandboxir::GlobalVariable::getInitializer ( ) const

hasAttribute() [1/2]

hasAttribute() [2/2]

bool llvm::sandboxir::GlobalVariable::hasAttribute ( StringRef Kind) const inline

hasAttributes()

bool llvm::sandboxir::GlobalVariable::hasAttributes ( ) const inline

hasDefinitiveInitializer()

bool llvm::sandboxir::GlobalVariable::hasDefinitiveInitializer ( ) const inline

hasDefinitiveInitializer - Whether the global variable has an initializer, and any other instances of the global (this can happen due to weak linkage) are guaranteed to have the same initializer.

Note that if you want to transform a global, you must use hasUniqueInitializer() instead, because of the *_odr linkage type.

Example:

= global SomeType* null - Initializer is both definitive and unique.

= global weak SomeType* null - Initializer is neither definitive nor unique.

= global weak_odr SomeType* null - Initializer is definitive, but not unique.

Definition at line 1163 of file Constant.h.

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

hasImplicitSection()

bool llvm::sandboxir::GlobalVariable::hasImplicitSection ( ) const inline

hasInitializer()

bool llvm::sandboxir::GlobalVariable::hasInitializer ( ) const inline

hasUniqueInitializer()

bool llvm::sandboxir::GlobalVariable::hasUniqueInitializer ( ) const inline

isConstant()

bool llvm::sandboxir::GlobalVariable::isConstant ( ) const inline

isExternallyInitialized()

bool llvm::sandboxir::GlobalVariable::isExternallyInitialized ( ) const inline

setAlignment()

void llvm::sandboxir::GlobalVariable::setAlignment ( MaybeAlign Align )

setConstant()

void llvm::sandboxir::GlobalVariable::setConstant ( bool V )

setExternallyInitialized()

void llvm::sandboxir::GlobalVariable::setExternallyInitialized ( bool Val )

setInitializer()

void llvm::sandboxir::GlobalVariable::setInitializer ( Constant * InitVal )

verify()

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

Context


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