LLVM 20.0.0git
|
#include "llvm/SandboxIR/Constant.h"
Public Types | |
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 { 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 |
Static Public Member Functions | |
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. | |
Protected Member Functions | |
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) | |
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. | |
Value & | operator= (const Value &)=delete |
Friends | |
class | Context |
Additional Inherited Members | |
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 666 of file Constant.h.
Definition at line 746 of file Constant.h.
|
inlineprotected |
Definition at line 668 of file Constant.h.
|
inline |
Returns true if the alignment of the value can be unilaterally increased.
Note that for functions this is the alignment of the code, not the alignment of a function pointer.
Definition at line 757 of file Constant.h.
References llvm::sandboxir::Value::Val.
|
inlinestatic |
|
inline |
Returns the alignment of the given variable or function.
Note that for functions this is the alignment of the code, not the alignment of a function pointer.
Definition at line 700 of file Constant.h.
References llvm::sandboxir::Value::Val.
|
inline |
FIXME: Remove this function once transition to Align is over.
Definition at line 692 of file Constant.h.
References llvm::sandboxir::Value::Val.
|
inline |
Definition at line 711 of file Constant.h.
References llvm::sandboxir::Value::Val.
Referenced by setGlobalObjectSubClassData().
|
inlinefinalprotectedvirtual |
\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.
Reimplemented from llvm::sandboxir::Constant.
Definition at line 671 of file Constant.h.
References llvm::sandboxir::User::getOperandUseDefault(), and Verify.
|
inline |
Get the custom section of this global if it has one.
If this global does not have a custom section, this will be empty and the default object file section (.text, .data, etc) will be used.
Definition at line 729 of file Constant.h.
References llvm::sandboxir::Value::Val.
\Returns the operand index of Use
.
Reimplemented from llvm::sandboxir::Constant.
Definition at line 676 of file Constant.h.
References llvm::sandboxir::User::getUseOperandNoDefault().
|
inline |
Definition at line 748 of file Constant.h.
References llvm::sandboxir::Value::Val.
|
inline |
Definition at line 739 of file Constant.h.
References llvm::sandboxir::Value::Val.
|
inline |
Check if this global has a custom object file section.
This is more efficient than calling getSection() and checking for an empty string.
Definition at line 721 of file Constant.h.
References llvm::sandboxir::Value::Val.
void llvm::sandboxir::GlobalObject::setAlignment | ( | MaybeAlign | Align | ) |
Sets the alignment attribute of the GlobalObject.
This method will be deprecated as the alignment property should always be defined.
Definition at line 264 of file Constant.cpp.
References llvm::sandboxir::Value::Ctx, llvm::sandboxir::Tracker::emplaceIfTracking(), llvm::sandboxir::Context::getTracker(), and llvm::sandboxir::Value::Val.
void llvm::sandboxir::GlobalObject::setGlobalObjectSubClassData | ( | unsigned | V | ) |
Definition at line 272 of file Constant.cpp.
References llvm::sandboxir::Value::Ctx, llvm::sandboxir::Tracker::emplaceIfTracking(), getGlobalObjectSubClassData(), llvm::sandboxir::Context::getTracker(), setGlobalObjectSubClassData(), and llvm::sandboxir::Value::Val.
Referenced by setGlobalObjectSubClassData().
void llvm::sandboxir::GlobalObject::setSection | ( | StringRef | S | ) |
Change the section for this global.
Setting the section to the empty string tells LLVM to choose an appropriate default object file section.
Definition at line 280 of file Constant.cpp.
References llvm::sandboxir::Value::Ctx, llvm::sandboxir::Tracker::emplaceIfTracking(), llvm::sandboxir::Context::getTracker(), and llvm::sandboxir::Value::Val.
|
friend |
Definition at line 670 of file Constant.h.