[all-commits] [llvm/llvm-project] 98aa69: [mlir][scf] Add general affine.min canonicalizatio...
Matthias Springer via All-commits
all-commits at lists.llvm.org
Tue Aug 24 15:39:27 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 98aa694d0d731307bf83d289803f57886d2d3aaa
https://github.com/llvm/llvm-project/commit/98aa694d0d731307bf83d289803f57886d2d3aaa
Author: Matthias Springer <springerm at google.com>
Date: 2021-08-25 (Wed, 25 Aug 2021)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Passes.h
M mlir/include/mlir/Dialect/SCF/Passes.td
M mlir/include/mlir/Dialect/SCF/Transforms.h
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
A mlir/test/Dialect/SCF/canonicalize-scf-affine-min.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][scf] Add general affine.min canonicalization pattern
This canonicalization simplifies affine.min operations inside "for loop"-like operations (e.g., scf.for and scf.parallel) based on two invariants:
* iv >= lb
* iv < lb + step * ((ub - lb - 1) floorDiv step) + 1
This commit adds a new pass `canonicalize-scf-affine-min` (instead of being a canonicalization pattern) to avoid dependencies between the Affine dialect and the SCF dialect.
Differential Revision: https://reviews.llvm.org/D107731
More information about the All-commits
mailing list