[all-commits] [llvm/llvm-project] 5f0d4f: [mlir] Introduce Transform ops for loops
ftynse via All-commits
all-commits at lists.llvm.org
Thu Jun 9 02:42:11 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5f0d4f208e24a3e9f7369b712c5c2598dd5582d4
https://github.com/llvm/llvm-project/commit/5f0d4f208e24a3e9f7369b712c5c2598dd5582d4
Author: Alex Zinenko <zinenko at google.com>
Date: 2022-06-09 (Thu, 09 Jun 2022)
Changed paths:
M mlir/include/mlir/Dialect/SCF/CMakeLists.txt
A mlir/include/mlir/Dialect/SCF/Patterns.h
A mlir/include/mlir/Dialect/SCF/TransformOps/CMakeLists.txt
A mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.h
A mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms.h
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/CMakeLists.txt
A mlir/lib/Dialect/SCF/TransformOps/CMakeLists.txt
A mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/SCFLoopTransformOps.td
A mlir/python/mlir/dialects/_loop_transform_ops_ext.py
A mlir/python/mlir/dialects/transform/loop.py
A mlir/test/Dialect/SCF/transform-ops.mlir
A mlir/test/python/dialects/transform_loop_ext.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir] Introduce Transform ops for loops
Introduce transform ops for "for" loops, in particular for peeling, software
pipelining and unrolling, along with a couple of "IR navigation" ops. These ops
are intended to be generalized to different kinds of loops when possible and
therefore use the "loop" prefix. They currently live in the SCF dialect as
there is no clear place to put transform ops that may span across several
dialects, this decision is postponed until the ops actually need to handle
non-SCF loops.
Additionally refactor some common utilities for transform ops into trait or
interface methods, and change the loop pipelining to be a returning pattern.
Reviewed By: springerm
Differential Revision: https://reviews.llvm.org/D127300
More information about the All-commits
mailing list