My Project
|
#include <OperationSupport.h>
Public Member Functions | |
OperandStorage (unsigned numOperands, bool resizable) | |
~OperandStorage () | |
void | setOperands (Operation *owner, ValueRange operands) |
void | eraseOperand (unsigned index) |
Erase an operand held by the storage. More... | |
MutableArrayRef< OpOperand > | getOperands () |
Get the operation operands held by the storage. More... | |
unsigned | size () const |
Return the number of operands held in the storage. More... | |
bool | isResizable () const |
Returns if this storage is resizable. More... | |
Static Public Member Functions | |
static size_t | additionalAllocSize (unsigned numOperands, bool resizable) |
Returns the additional size necessary for allocating this object. More... | |
This class handles the management of operation operands. Operands are stored similarly to the elements of a SmallVector except for two key differences. The first is the inline storage, which is a trailing objects array. The second is that being able to dynamically resize the operand list is optional.
|
inline |
|
inline |
|
inlinestatic |
Returns the additional size necessary for allocating this object.
void detail::OperandStorage::eraseOperand | ( | unsigned | index | ) |
Erase an operand held by the storage.
|
inline |
Get the operation operands held by the storage.
|
inline |
Returns if this storage is resizable.
void detail::OperandStorage::setOperands | ( | Operation * | owner, |
ValueRange | operands | ||
) |
Replace the operands contained in the storage with the ones provided in 'operands'.
|
inline |
Return the number of operands held in the storage.