This revision extracts padding hoisting in a new file and cleans it up in prevision of future improvements and extensions.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp | ||
---|---|---|
60 | Tiling can generate 4 kinds of loops: scf.for, scf.parallel, affine.for, tiled_loop. Will this always stay scf.for or do we want to extend this in the future? | |
121 | Is this to prevent the pattern from being applied to other pad_tensor ops (that may be created by the user)? I'm wondering if we could alternatively start with a pointer to a tiled Linalg op (which we should have after tiling) and get to the pad_tensor ops by checking its inputs. (Instead of looking for pad_tensor ops in the FuncOp.) |
mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp | ||
---|---|---|
60 | The code used to be written for more loop types but in practice it is unsupported and premature generalization. | |
103 | thanks for catching! | |
121 | This is because hoisting the output padding is not yet supported (i.e. there is something to be done for the writeback that isn't implemented). |
clang-tidy: warning: header guard does not follow preferred style [llvm-header-guard]
not useful