LLVM 22.0.0git
|
#include "llvm/SandboxIR/Constant.h"
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<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::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. |
Friends | |
class | Context |
Definition at line 1121 of file Constant.h.
|
inlinestatic |
For isa/dyn_cast.
Definition at line 1137 of file Constant.h.
References llvm::sandboxir::Value::getSubclassID().
|
inlineoverridevirtual |
Reimplemented from llvm::sandboxir::Constant.
Definition at line 1282 of file Constant.h.
References llvm::sandboxir::Value::dumpCommonPrefix(), and llvm::sandboxir::Value::dumpCommonSuffix().
|
inline |
Returns the alignment of the given variable.
Definition at line 1265 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Referenced by setAlignment().
|
inline |
Return the attribute object.
Definition at line 1224 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Return the attribute object.
Definition at line 1229 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Return the attribute set for this global.
Definition at line 1234 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Return attribute set as list with index.
FIXME: This may not be required once ValueEnumerators in bitcode-writer can enumerate attribute-set.
Definition at line 1241 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Get the custom code model of this global if it has one.
If this global does not have a custom code model, the empty instance will be returned.
Definition at line 1260 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Get the custom code model raw value of this global.
Definition at line 1252 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Constant * llvm::sandboxir::GlobalVariable::getInitializer | ( | ) | const |
getInitializer - Return the initializer for this global variable.
It is illegal to call this method if the global is external, because we cannot tell what the value is initialized to!
Definition at line 340 of file Constant.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, getInitializer(), and llvm::sandboxir::Value::Val.
Referenced by getInitializer(), and setInitializer().
|
inline |
Return true if the attribute exists.
Definition at line 1209 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Return true if the attribute exists.
Definition at line 1214 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Return true if any attributes exist.
Definition at line 1219 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
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.
|
inline |
Check if section name is present.
Definition at line 1246 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Definitions have initializers, declarations don't.
Definition at line 1143 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
hasUniqueInitializer - Whether the global variable has an initializer, and any changes made to the initializer will turn up in the final executable.
Definition at line 1169 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
If the value is a global constant, its value is immutable throughout the runtime execution of the program.
Assigning a value into the constant leads to undefined behavior.
Definition at line 1189 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Referenced by setConstant().
|
inline |
Definition at line 1194 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Referenced by setExternallyInitialized().
void llvm::sandboxir::GlobalVariable::setAlignment | ( | MaybeAlign | Align | ) |
Sets the alignment attribute of the GlobalVariable.
This method will be deprecated as the alignment property should always be defined.
Definition at line 285 of file Constant.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, getAlign(), setAlignment(), and llvm::sandboxir::Value::Val.
Referenced by setAlignment().
void llvm::sandboxir::GlobalVariable::setConstant | ( | bool | V | ) |
Definition at line 353 of file Constant.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, isConstant(), setConstant(), and llvm::sandboxir::Value::Val.
Referenced by setConstant().
void llvm::sandboxir::GlobalVariable::setExternallyInitialized | ( | bool | Val | ) |
Definition at line 360 of file Constant.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, isExternallyInitialized(), setExternallyInitialized(), and llvm::sandboxir::Value::Val.
Referenced by setExternallyInitialized().
void llvm::sandboxir::GlobalVariable::setInitializer | ( | Constant * | InitVal | ) |
setInitializer - Sets the initializer for this global variable, removing any existing initializer if InitVal==NULL.
The initializer must have the type getValueType().
Definition at line 345 of file Constant.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, getInitializer(), setInitializer(), and llvm::sandboxir::Value::Val.
Referenced by setInitializer().
|
inlineoverridevirtual |
Should crash if there is something wrong with the instruction.
Reimplemented from llvm::sandboxir::Constant.
Definition at line 1279 of file Constant.h.
References assert(), llvm::isa(), and llvm::sandboxir::Value::Val.
|
friend |
Definition at line 1126 of file Constant.h.
References Context, and llvm::sandboxir::Value::Ctx.
Referenced by Context.