forked from OSchip/llvm-project
c0f41e5bb3
This CL makes lowering to loops always be a: ``` %D = linalg.dim %view, constant : !linalg.view<...> affine.for %ix = %c0 to %D { ... } ``` This form composes correctly with tiling and is also the proper way to emit loops from views that across function boundaries. The previous version that would extract the range_min/max/step was composing incorrectly with tiling (i.e. would shift by range_min both in the loop bounds and in the slice) and would not work across function boundaries. The relevant tests are updated and a new test `dot_view`---which lowers to loops from views passed as function parameters---is added. When additional context is available, the linalg.dim operations should be folded away but this is left for a future CL. -- PiperOrigin-RevId: 249634712 |
||
---|---|---|
.. | ||
AffineOps | ||
Dialect | ||
EDSC | ||
Examples | ||
GPU | ||
IR | ||
LLVMIR | ||
Linalg | ||
Pass | ||
Quantizer | ||
SDBM | ||
Target | ||
Transforms | ||
Unit | ||
mlir-cpu-runner | ||
mlir-tblgen | ||
APITest.h | ||
CMakeLists.txt | ||
lit.cfg.py | ||
lit.site.cfg.py.in |