|
LLVM 23.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 1122 of file Constant.h.
|
inlinestatic |
For isa/dyn_cast.
Definition at line 1138 of file Constant.h.
References llvm::sandboxir::Value::getSubclassID().
|
inlineoverridevirtual |
Reimplemented from llvm::sandboxir::Constant.
Definition at line 1283 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 1266 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Referenced by setAlignment().
|
inline |
Return the attribute object.
Definition at line 1225 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Return the attribute object.
Definition at line 1230 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Return the attribute set for this global.
Definition at line 1235 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 1242 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 1261 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 1253 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 344 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 1210 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Return true if the attribute exists.
Definition at line 1215 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Return true if any attributes exist.
Definition at line 1220 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 1164 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Check if section name is present.
Definition at line 1247 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
|
inline |
Definitions have initializers, declarations don't.
Definition at line 1144 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 1170 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 1190 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
Referenced by setConstant().
|
inline |
Definition at line 1195 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 289 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 357 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 364 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 349 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 1280 of file Constant.h.
References assert(), llvm::isa(), and llvm::sandboxir::Value::Val.
|
friend |
Definition at line 1127 of file Constant.h.
References Context, and llvm::sandboxir::Value::Ctx.
Referenced by Context.