MLIR
22.0.0git
|
#include "mlir/Dialect/Linalg/Transforms/Transforms.h"
Public Member Functions | |
LinalgPromotionOptions & | setOperandsToPromote (ArrayRef< int64_t > operands) |
LinalgPromotionOptions & | setUseFullTileBuffers (ArrayRef< bool > useFullTiles) |
LinalgPromotionOptions & | setUseFullTileBuffersByDefault (bool use) |
LinalgPromotionOptions & | setUseOriginalSubviewSize (bool originalSize) |
LinalgPromotionOptions & | setAlignment (unsigned align) |
LinalgPromotionOptions & | setMemorySpace (Attribute memorySpc) |
LinalgPromotionOptions & | setUseAlloca (bool use) |
LinalgPromotionOptions & | setAllocationDeallocationFns (AllocBufferCallbackFn const &allocFn, DeallocBufferCallbackFn const &deallocFn) |
LinalgPromotionOptions & | setCopyInOutFns (CopyCallbackFn const ©In, CopyCallbackFn const ©Out) |
Public Attributes | |
std::optional< DenseSet< unsigned > > | operandsToPromote |
Indices of subViews to promote. More... | |
std::optional< llvm::SmallBitVector > | useFullTileBuffers |
If ith element of useFullTiles is true the full view should be used for the promoted buffer of the ith operand in operandsToPromote . More... | |
bool | useFullTileBuffersDefault = false |
If true all operands unspecified by useFullTileBuffers will use the full view, otherwise the partial view. More... | |
bool | useOriginalSubviewSize = false |
If true, buffers will be allocated with the original subview size. More... | |
std::optional< unsigned > | alignment |
Alignment of promoted buffer. If std::nullopt do not specify alignment. More... | |
std::optional< Attribute > | memorySpace |
Memory space of promoted buffer. More... | |
bool | useAlloca = false |
Use alloca with the default allocation scheme. More... | |
std::optional< AllocBufferCallbackFn > | allocationFn |
Callback function to do the allocation of the promoted buffer. More... | |
std::optional< DeallocBufferCallbackFn > | deallocationFn |
std::optional< CopyCallbackFn > | copyInFn |
Callback function to do the copy of data to and from the promoted subview. More... | |
std::optional< CopyCallbackFn > | copyOutFn |
Definition at line 395 of file Transforms.h.
|
inline |
Definition at line 434 of file Transforms.h.
References alignment.
|
inline |
Definition at line 457 of file Transforms.h.
References allocationFn, and deallocationFn.
|
inline |
Definition at line 467 of file Transforms.h.
|
inline |
Definition at line 441 of file Transforms.h.
References memorySpace.
|
inline |
Definition at line 399 of file Transforms.h.
References operandsToPromote.
|
inline |
Definition at line 447 of file Transforms.h.
References useAlloca.
|
inline |
Definition at line 410 of file Transforms.h.
References useFullTileBuffers.
|
inline |
Definition at line 421 of file Transforms.h.
References useFullTileBuffersDefault.
|
inline |
Definition at line 428 of file Transforms.h.
References useOriginalSubviewSize.
std::optional<unsigned> mlir::linalg::LinalgPromotionOptions::alignment |
Alignment of promoted buffer. If std::nullopt
do not specify alignment.
Definition at line 433 of file Transforms.h.
Referenced by setAlignment().
std::optional<AllocBufferCallbackFn> mlir::linalg::LinalgPromotionOptions::allocationFn |
Callback function to do the allocation of the promoted buffer.
If std::nullopt, then the default allocation scheme of allocating a memref<?xi8> buffer followed by a view operation is used.
Definition at line 454 of file Transforms.h.
Referenced by setAllocationDeallocationFns().
std::optional<CopyCallbackFn> mlir::linalg::LinalgPromotionOptions::copyInFn |
Callback function to do the copy of data to and from the promoted subview.
If std::nullopt then a memref.copy is used.
Definition at line 465 of file Transforms.h.
Referenced by setCopyInOutFns().
std::optional<CopyCallbackFn> mlir::linalg::LinalgPromotionOptions::copyOutFn |
Definition at line 466 of file Transforms.h.
Referenced by setCopyInOutFns().
std::optional<DeallocBufferCallbackFn> mlir::linalg::LinalgPromotionOptions::deallocationFn |
Definition at line 455 of file Transforms.h.
Referenced by setAllocationDeallocationFns().
std::optional<Attribute> mlir::linalg::LinalgPromotionOptions::memorySpace |
Memory space of promoted buffer.
If std::nullopt
do not specify memory space.
Definition at line 440 of file Transforms.h.
Referenced by setMemorySpace().
std::optional<DenseSet<unsigned> > mlir::linalg::LinalgPromotionOptions::operandsToPromote |
Indices of subViews to promote.
If std::nullopt
, try to promote all operands.
Definition at line 398 of file Transforms.h.
Referenced by setOperandsToPromote().
bool mlir::linalg::LinalgPromotionOptions::useAlloca = false |
Use alloca with the default allocation scheme.
Definition at line 446 of file Transforms.h.
Referenced by setUseAlloca().
std::optional<llvm::SmallBitVector> mlir::linalg::LinalgPromotionOptions::useFullTileBuffers |
If ith element of useFullTiles
is true the full view should be used for the promoted buffer of the ith operand in operandsToPromote
.
Otherwise the partial view will be used. The decision is defaulted to useFullTileBuffersDefault
when useFullTileBuffers
is std::nullopt and for operands missing from useFullTileBuffers
.
Definition at line 409 of file Transforms.h.
Referenced by setUseFullTileBuffers().
bool mlir::linalg::LinalgPromotionOptions::useFullTileBuffersDefault = false |
If true all operands unspecified by useFullTileBuffers
will use the full view, otherwise the partial view.
Definition at line 420 of file Transforms.h.
Referenced by setUseFullTileBuffersByDefault().
bool mlir::linalg::LinalgPromotionOptions::useOriginalSubviewSize = false |
If true, buffers will be allocated with the original subview size.
This may result in more dynamic allocations, in case of dynamic sizes.
Definition at line 427 of file Transforms.h.
Referenced by setUseOriginalSubviewSize().