[PATCH] D73684: [MLIR][Linalg] Lower linalg.generic to ploops.
Alex Zinenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 30 03:05:41 PST 2020
ftynse added a comment.
What happens when you have non-parallel loops in the generic op? Can we have a test for this case (even if there's no transform happening, just make sure we bail out instead of generating incorrectly parallel loop?)
================
Comment at: mlir/include/mlir/Dialect/Linalg/Passes.h:38
+/// std.load/std.store accesses.
+std::unique_ptr<OpPassBase<FuncOp>> createConvertLinalgToParallelLoopsPass();
+
----------------
Given that we have parallel loops to sequential loops, does it make sense to keep Linalg to sequential loops?
================
Comment at: mlir/include/mlir/Dialect/LoopOps/LoopOps.td:179
let results = (outs Variadic<AnyType>:$results);
- let regions = (region SizedRegion<1>:$body);
+ let regions = (region SizedRegion<1>:$region);
+
----------------
Any specific reason for this rename? I find "body" to be a better name than 'region".
================
Comment at: mlir/lib/Dialect/LoopOps/LoopOps.cpp:235
+ ForOp::ensureTerminator(*bodyRegion, *builder, result.location);
+ for (size_t i = 0; i < steps.size(); ++i) {
+ bodyRegion->front().addArgument(builder->getIndexType());
----------------
Ultra-nit: drop trivial braces
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73684/new/
https://reviews.llvm.org/D73684
More information about the llvm-commits
mailing list