forked from OSchip/llvm-project
e41ebbecf9
The change is based on the proposal from the following discussion: https://llvm.discourse.group/t/rfc-memreftype-affine-maps-list-vs-single-item/3968 * Introduce `MemRefLayoutAttr` interface to get `AffineMap` from an `Attribute` (`AffineMapAttr` implements this interface). * Store layout as a single generic `MemRefLayoutAttr`. This change removes the affine map composition feature and related API. Actually, while the `MemRefType` itself supported it, almost none of the upstream can work with more than 1 affine map in `MemRefType`. The introduced `MemRefLayoutAttr` allows to re-implement this feature in a more stable way - via separate attribute class. Also the interface allows to use different layout representations rather than affine maps. For example, the described "stride + offset" form, which is currently supported in ASM parser only, can now be expressed as separate attribute. Reviewed By: ftynse, bondhugula Differential Revision: https://reviews.llvm.org/D111553 |
||
---|---|---|
.. | ||
Bindings/Python | ||
Dialect | ||
AffineExpr.h | ||
AffineMap.h | ||
BuiltinAttributes.h | ||
BuiltinTypes.h | ||
Conversion.h | ||
Debug.h | ||
Diagnostics.h | ||
ExecutionEngine.h | ||
IR.h | ||
IntegerSet.h | ||
Pass.h | ||
Registration.h | ||
Support.h | ||
Transforms.h |