[all-commits] [llvm/llvm-project] 66e270: [mlir:Linalg] Populate LinalgOp patterns on Linalg...
River Riddle via All-commits
all-commits at lists.llvm.org
Mon Jun 14 11:21:07 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 66e27082054bf8f106ce63d5cb7d6c67e628feff
https://github.com/llvm/llvm-project/commit/66e27082054bf8f106ce63d5cb7d6c67e628feff
Author: River Riddle <riddleriver at gmail.com>
Date: 2021-06-14 (Mon, 14 Jun 2021)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[mlir:Linalg] Populate LinalgOp patterns on LinalgDialect as opposed to each op
Interface patterns are unique in that they get added to every operation that also implements that interface, given that they aren't tied to individual operations. When the same interface pattern gets added to multiple operations (such as the current behavior with Linalg), an reference to each of these patterns is added to every op (meaning that an operation will now have N references to effectively the same pattern). This revision fixes this problematic behavior in Linalg, and can bring upwards of a 25% reduction in compile time in Linalg based workloads.
Differential Revision: https://reviews.llvm.org/D104160
More information about the All-commits
mailing list