LLVM 19.0.0git
|
#include "llvm/SandboxIR/SandboxIR.h"
Public Types | |
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 > |
![]() | |
enum class | ClassID : unsigned { DEF_VALUE , DEF_USER , 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 Value *From) |
For isa/dyn_cast. | |
Protected Member Functions | |
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 |
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 | verifyUserOfLLVMUse (const llvm::Use &Use) const |
![]() | |
void | clearValue () |
Value (ClassID SubclassID, llvm::Value *Val, Context &Ctx) | |
Friends | |
class | OperandUseIterator |
unsigned | Use::getOperandNo () const |
Additional Inherited Members | |
![]() | |
static const char * | getSubclassIDStr (ClassID ID) |
![]() | |
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 337 of file SandboxIR.h.
Definition at line 366 of file SandboxIR.h.
Definition at line 368 of file SandboxIR.h.
Definition at line 365 of file SandboxIR.h.
Definition at line 367 of file SandboxIR.h.
|
inlineprotected |
Definition at line 339 of file SandboxIR.h.
|
inlineoverridevirtual |
Implements llvm::sandboxir::Value.
Reimplemented in llvm::sandboxir::Constant, llvm::sandboxir::Instruction, and llvm::sandboxir::OpaqueInst.
Definition at line 413 of file SandboxIR.h.
|
inlineoverridevirtual |
Implements llvm::sandboxir::Value.
Reimplemented in llvm::sandboxir::Constant, llvm::sandboxir::Instruction, and llvm::sandboxir::OpaqueInst.
Definition at line 410 of file SandboxIR.h.
|
finalvirtual |
Reimplemented from llvm::sandboxir::Value.
Definition at line 219 of file SandboxIR.cpp.
References llvm::sandboxir::Value::dumpCommonHeader(), and OS.
|
inlinevirtual |
Definition at line 396 of file SandboxIR.h.
References llvm::sandboxir::Value::Val.
Referenced by getOperandUseDefault(), and op_end().
Definition at line 390 of file SandboxIR.h.
References llvm::sandboxir::Use::get(), and getOperandUse().
\Returns the operand edge for OpIdx
.
NOTE: This should also work for OpIdx == getNumOperands(), which is used for op_end().
Definition at line 393 of file SandboxIR.h.
References getOperandUseInternal().
Referenced by getOperand().
\Returns the Use edge that corresponds to OpIdx
.
Note: This is the default implementation that works for instructions that match the underlying LLVM instruction. All others should use a different implementation.
Definition at line 176 of file SandboxIR.cpp.
References assert(), llvm::sandboxir::Value::Ctx, getNumOperands(), llvm::sandboxir::Value::Val, and Verify.
|
protectedpure virtual |
Referenced by getOperandUse(), op_begin(), op_end(), and llvm::sandboxir::OperandUseIterator::operator++().
|
protectedpure virtual |
\Returns the operand index of Use
.
Implemented in llvm::sandboxir::Constant, and llvm::sandboxir::OpaqueInst.
Referenced by llvm::sandboxir::Use::getOperandNo().
The default implementation works only for single-LLVMIR-instruction Users and only if they match exactly the LLVM instruction.
Definition at line 351 of file SandboxIR.h.
Referenced by llvm::sandboxir::Constant::getUseOperandNo(), and llvm::sandboxir::OpaqueInst::getUseOperandNo().
|
inlinevirtual |
Definition at line 370 of file SandboxIR.h.
References assert(), getOperandUseInternal(), and llvm::sandboxir::Value::Val.
Referenced by op_begin(), and operands().
|
inlinevirtual |
Definition at line 379 of file SandboxIR.h.
References op_begin().
|
inlinevirtual |
Definition at line 374 of file SandboxIR.h.
References assert(), getNumOperands(), getOperandUseInternal(), and llvm::sandboxir::Value::Val.
Referenced by op_end(), and operands().
|
inlinevirtual |
Definition at line 382 of file SandboxIR.h.
References op_end().
|
inline |
Definition at line 386 of file SandboxIR.h.
References op_begin(), and op_end().
|
inline |
Definition at line 387 of file SandboxIR.h.
References op_begin(), and op_end().
Replaces any operands that match FromV
with ToV
.
Returns whether any operands were replaced.
Definition at line 214 of file SandboxIR.cpp.
References llvm::sandboxir::Value::Val.
Definition at line 209 of file SandboxIR.cpp.
References assert(), and llvm::sandboxir::Value::Val.
|
inlineoverridevirtual |
Should crash if there is something wrong with the instruction.
Implements llvm::sandboxir::Value.
Reimplemented in llvm::sandboxir::Constant, and llvm::sandboxir::OpaqueInst.
Definition at line 406 of file SandboxIR.h.
References assert(), and llvm::sandboxir::Value::Val.
Definition at line 188 of file SandboxIR.cpp.
References assert(), llvm::sandboxir::Value::Ctx, llvm::sandboxir::Use::getUser(), and llvm::sandboxir::Context::getValue().
|
friend |
Definition at line 347 of file SandboxIR.h.
|
friend |