[all-commits] [llvm/llvm-project] b87f1b: [MLIR] Add `InParallelOpInterface` for parallel co...
Alan Li via All-commits
all-commits at lists.llvm.org
Fri Sep 12 14:23:21 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b87f1b22a8d8a77d5360f201af5ba08adbb0a974
https://github.com/llvm/llvm-project/commit/b87f1b22a8d8a77d5360f201af5ba08adbb0a974
Author: Alan Li <me at alanli.org>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Interfaces/ParallelCombiningOpInterface.h
M mlir/include/mlir/Interfaces/ParallelCombiningOpInterface.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Interfaces/ParallelCombiningOpInterface.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-tensor-copy-insertion.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Add `InParallelOpInterface` for parallel combining operations (#157736)
This commit:
- Introduces a new `InParallelOpInterface`, along with the
`ParallelCombiningOpInterface`, represent the parallel updating
operations we have in a parallel loop of `scf.forall`.
- Change the name of `ParallelCombiningOpInterface` to
`InParallelOpInterface` as the naming was quite confusing.
- `ParallelCombiningOpInterface` now is used to generalize operations
that insert into shared tensors within parallel combining regions.
Previously, only `tensor.parallel_insert_slice` was supported directly
in `scf.InParallelOp` regions.
- `tensor.parallel_insert_slice` now implements
`ParallelCombiningOpInterface`.
This change enables future extensions to support additional parallel
combining operations beyond `tensor.parallel_insert_slice`, which have
different update semantics, so the `in_parallel` region can correctly
and safely represent these kinds of operation without potential mistakes
such as races.
Author credits: @qedawkins
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list