|
| ::mlir::Operation::operand_range | getIndices () |
| | Gets the operand range containing the index for each dimension.
|
| ::mlir::MutableOperandRange | getIndicesMutable () |
| | Gets the mutable operand range containing the index for each dimension.
|
| bool | isRead () |
| | Return true if the op is a read, false if it's a write.
|
| inline ::mlir::ArrayRef<::mlir::Attribute > | getValueOperandDims () |
| | Compute the dimensions of the read/write value.
|
| ::mlir::ArrayAttr | indexOperandsToAttributeArray () |
| | Returns the multi-dimensional indices of the array access as an Attribute array or a null pointer if a valid index cannot be computed for any dimension.
|
| bool | canRewire (const ::mlir::DestructurableMemorySlot &slot, ::llvm::SmallPtrSetImpl<::mlir::Attribute > &usedIndices, ::mlir::SmallVectorImpl<::mlir::MemorySlot > &mustBeSafelyUsed, const ::mlir::DataLayout &dataLayout) |
| | Required by companion interface DestructurableAccessorOpInterface / SROA pass.
|
| ::mlir::DeletionKind | rewire (const ::mlir::DestructurableMemorySlot &slot, ::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > &subslots, ::mlir::OpBuilder &builder, const ::mlir::DataLayout &dataLayout) |
| | Required by companion interface DestructurableAccessorOpInterface / SROA pass.
|
| static ::llvm::SmallVector<::mlir::Value > | genIndexConstants (::mlir::OpBuilder &bldr, ::mlir::Location loc, ::mlir::ArrayAttr index) |
| | Generate arith.constant indices for one static array element position.
|
| | operator::llzk::array::ArrayRefOpInterface () const |
| ::mlir::TypedValue<::llzk::array::ArrayType > | getArrRef () |
| | Gets the SSA Value for the referenced array.
|
| ::mlir::OpOperand & | getArrRefMutable () |
| | Gets the mutable operand slot holding the SSA Value for the referenced array.
|
| inline ::llzk::array::ArrayType | getArrRefType () |
| | Gets the type of the referenced array.
|
|
| ::mlir::Value | genRead (::mlir::OpBuilder &bldr, ::mlir::Location loc, ::mlir::Value arrayRef, ::mlir::ValueRange indices) |
| | Create an array.read or array.extract for one concrete element or subarray.
|
| ::mlir::Value | genRead (::mlir::OpBuilder &bldr, ::mlir::Location loc, ::mlir::Value arrayRef, ::mlir::ArrayAttr index) |
| | Create an array.read or array.extract for one concrete element or subarray.
|
| static void | genWrite (::mlir::OpBuilder &bldr, ::mlir::Location loc, ::mlir::Value arrayRef, ::mlir::ValueRange indices, ::mlir::Value value) |
| | Create an array.write or array.insert for one concrete element or subarray.
|
| static void | genWrite (::mlir::OpBuilder &bldr, ::mlir::Location loc, ::mlir::Value arrayRef, ::mlir::ArrayAttr index, ::mlir::Value value) |
| | Create an array.write or array.insert for one concrete element or subarray.
|
Definition at line 115 of file OpInterfaces.h.inc.
◆ canRewire()
| bool llzk::array::ArrayAccessOpInterface::canRewire |
( |
const ::mlir::DestructurableMemorySlot & | slot, |
|
|
::llvm::SmallPtrSetImpl<::mlir::Attribute > & | usedIndices, |
|
|
::mlir::SmallVectorImpl<::mlir::MemorySlot > & | mustBeSafelyUsed, |
|
|
const ::mlir::DataLayout & | dataLayout ) |
Required by companion interface DestructurableAccessorOpInterface / SROA pass.
Required by DestructurableAllocationOpInterface / SROA pass.
Definition at line 280 of file Ops.cpp.
◆ genIndexConstants()
| SmallVector< Value > llzk::array::ArrayAccessOpInterface::genIndexConstants |
( |
::mlir::OpBuilder & | bldr, |
|
|
::mlir::Location | loc, |
|
|
::mlir::ArrayAttr | index ) |
Generate arith.constant indices for one static array element position.
Definition at line 228 of file Ops.cpp.
◆ genRead() [1/2]
| ::mlir::Value llzk::array::ArrayAccessOpInterface::genRead |
( |
::mlir::OpBuilder & | bldr, |
|
|
::mlir::Location | loc, |
|
|
::mlir::Value | arrayRef, |
|
|
::mlir::ArrayAttr | index ) |
|
static |
Create an array.read or array.extract for one concrete element or subarray.
◆ genRead() [2/2]
| ::mlir::Value llzk::array::ArrayAccessOpInterface::genRead |
( |
::mlir::OpBuilder & | bldr, |
|
|
::mlir::Location | loc, |
|
|
::mlir::Value | arrayRef, |
|
|
::mlir::ValueRange | indices ) |
|
static |
Create an array.read or array.extract for one concrete element or subarray.
◆ genWrite() [1/2]
| void llzk::array::ArrayAccessOpInterface::genWrite |
( |
::mlir::OpBuilder & | bldr, |
|
|
::mlir::Location | loc, |
|
|
::mlir::Value | arrayRef, |
|
|
::mlir::ArrayAttr | index, |
|
|
::mlir::Value | value ) |
|
static |
Create an array.write or array.insert for one concrete element or subarray.
◆ genWrite() [2/2]
| void llzk::array::ArrayAccessOpInterface::genWrite |
( |
::mlir::OpBuilder & | bldr, |
|
|
::mlir::Location | loc, |
|
|
::mlir::Value | arrayRef, |
|
|
::mlir::ValueRange | indices, |
|
|
::mlir::Value | value ) |
|
static |
Create an array.write or array.insert for one concrete element or subarray.
◆ getArrRef()
◆ getArrRefMutable()
| mlir::OpOperand & llzk::array::ArrayAccessOpInterface::getArrRefMutable |
( |
| ) |
|
Gets the mutable operand slot holding the SSA Value for the referenced array.
Definition at line 26 of file OpInterfaces.cpp.inc.
◆ getArrRefType()
◆ getIndices()
| mlir::Operation::operand_range llzk::array::ArrayAccessOpInterface::getIndices |
( |
| ) |
|
Gets the operand range containing the index for each dimension.
Definition at line 10 of file OpInterfaces.cpp.inc.
◆ getIndicesMutable()
| mlir::MutableOperandRange llzk::array::ArrayAccessOpInterface::getIndicesMutable |
( |
| ) |
|
Gets the mutable operand range containing the index for each dimension.
Definition at line 14 of file OpInterfaces.cpp.inc.
◆ getValueOperandDims()
| inline ::mlir::ArrayRef<::mlir::Attribute > llzk::array::ArrayAccessOpInterface::getValueOperandDims |
( |
| ) |
|
|
inline |
Compute the dimensions of the read/write value.
Removing the number of indices provided from the front dimensions of the base array type gives the dimensions/shape of that value.
Definition at line 130 of file OpInterfaces.h.inc.
◆ indexOperandsToAttributeArray()
| ArrayAttr llzk::array::ArrayAccessOpInterface::indexOperandsToAttributeArray |
( |
| ) |
|
Returns the multi-dimensional indices of the array access as an Attribute array or a null pointer if a valid index cannot be computed for any dimension.
Definition at line 216 of file Ops.cpp.
◆ isRead()
| bool llzk::array::ArrayAccessOpInterface::isRead |
( |
| ) |
|
◆ operator::llzk::array::ArrayRefOpInterface()
| llzk::array::ArrayAccessOpInterface::operator::llzk::array::ArrayRefOpInterface |
( |
| ) |
const |
|
inline |
◆ rewire()
| DeletionKind llzk::array::ArrayAccessOpInterface::rewire |
( |
const ::mlir::DestructurableMemorySlot & | slot, |
|
|
::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > & | subslots, |
|
|
::mlir::OpBuilder & | builder, |
|
|
const ::mlir::DataLayout & | dataLayout ) |
Required by companion interface DestructurableAccessorOpInterface / SROA pass.
Required by DestructurableAllocationOpInterface / SROA pass.
Definition at line 304 of file Ops.cpp.
The documentation for this class was generated from the following files: