[all-commits] [llvm/llvm-project] 6a8ba3: [mlir] Split std.splat into tensor.splat and vecto...
River Riddle via All-commits
all-commits at lists.llvm.org
Wed Feb 2 14:46:08 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6a8ba3186ed561bd5ac6aa31ba483d81223bf198
https://github.com/llvm/llvm-project/commit/6a8ba3186ed561bd5ac6aa31ba483d81223bf198
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-02-02 (Wed, 02 Feb 2022)
Changed paths:
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/Attributes.h
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
M mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSPIRV/simple.mlir
M mlir/test/Dialect/Standard/ops.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/Vector/vector-contract-transforms.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/IR/core-ops.mlir
M mlir/test/IR/invalid-ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/test-transfer-write.mlir
M mlir/test/Transforms/constant-fold.mlir
M mlir/test/mlir-cpu-runner/utils.mlir
Log Message:
-----------
[mlir] Split std.splat into tensor.splat and vector.splat
This is part of the larger effort to split the standard dialect. This will also allow for pruning some
additional dependencies on Standard (done in a followup).
Differential Revision: https://reviews.llvm.org/D118202
Commit: dec8af701ff25ea967d47d196e5247306754f8e8
https://github.com/llvm/llvm-project/commit/dec8af701ff25ea967d47d196e5247306754f8e8
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-02-02 (Wed, 02 Feb 2022)
Changed paths:
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Transforms/RewriteLoop.cpp
M flang/test/Fir/loop02.fir
M flang/unittests/Optimizer/Builder/Runtime/NumericTest.cpp
M mlir/benchmark/python/common.py
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/Arithmetic/IR/Arithmetic.h
M mlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
R mlir/include/mlir/Dialect/StandardOps/Transforms/BufferizableOpInterfaceImpl.h
M mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h
M mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
M mlir/include/mlir/Dialect/Tosa/Utils/CoversionUtils.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ArithmeticToLLVM/ArithmeticToLLVM.cpp
M mlir/lib/Conversion/ArithmeticToSPIRV/ArithmeticToSPIRV.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToStandard/TosaToStandard.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Arithmetic/IR/ArithmeticOps.cpp
M mlir/lib/Dialect/Arithmetic/IR/CMakeLists.txt
M mlir/lib/Dialect/Arithmetic/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arithmetic/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandTanh.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/SCF/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
R mlir/lib/Dialect/StandardOps/Transforms/BufferizableOpInterfaceImpl.cpp
R mlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
M mlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
M mlir/lib/Dialect/StandardOps/Utils/Utils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Analysis/test-match-reduction.mlir
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
M mlir/test/Conversion/ArithmeticToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ArithmeticToLLVM/convert-nd-vector-to-llvmir.mlir
M mlir/test/Conversion/ArithmeticToSPIRV/arithmetic-to-spirv.mlir
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
M mlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
M mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToStandard/tosa-to-standard.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_reduction.mlir
M mlir/test/Dialect/Affine/parallelize.mlir
M mlir/test/Dialect/Arithmetic/bufferize.mlir
M mlir/test/Dialect/Arithmetic/expand-ops.mlir
M mlir/test/Dialect/Async/async-parallel-for-compute-fn.mlir
M mlir/test/Dialect/Async/async-parallel-for-num-worker-threads.mlir
M mlir/test/Dialect/GPU/all-reduce-max.mlir
M mlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
M mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
M mlir/test/Dialect/Linalg/convert-elementwise-to-linalg.mlir
M mlir/test/Dialect/Linalg/loops.mlir
M mlir/test/Dialect/Linalg/roundtrip.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/Dialect/MemRef/expand-ops.mlir
M mlir/test/Dialect/SCF/canonicalize.mlir
M mlir/test/Dialect/SCF/ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
M mlir/test/Dialect/SparseTensor/sparse_out.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
R mlir/test/Dialect/Standard/bufferize.mlir
M mlir/test/Dialect/Standard/canonicalize-cf.mlir
M mlir/test/Dialect/Standard/canonicalize.mlir
M mlir/test/Dialect/Standard/expand-tanh.mlir
M mlir/test/Dialect/Vector/vector-contract-transforms.mlir
M mlir/test/Dialect/Vector/vector-transforms.mlir
M mlir/test/IR/core-ops.mlir
M mlir/test/IR/invalid-ops.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-collapse-tensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-elementwise.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-e2e.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_elementwise_add_sparse_output.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
M mlir/test/Transforms/canonicalize-block-merge.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/parametric-tiling.mlir
M mlir/test/Transforms/sccp-callgraph.mlir
M mlir/test/Transforms/sccp.mlir
M mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir] Move SelectOp from Standard to Arithmetic
This is part of splitting up the standard dialect. See https://llvm.discourse.group/t/standard-dialect-the-final-chapter/ for discussion.
Differential Revision: https://reviews.llvm.org/D118648
Commit: ead1107257e64c7d291ac3118304afe3c845ad1b
https://github.com/llvm/llvm-project/commit/ead1107257e64c7d291ac3118304afe3c845ad1b
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-02-02 (Wed, 02 Feb 2022)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
A mlir/include/mlir/Dialect/Arithmetic/Utils/Utils.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
R mlir/include/mlir/Dialect/StandardOps/Utils/Utils.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Arithmetic/CMakeLists.txt
A mlir/lib/Dialect/Arithmetic/Utils/CMakeLists.txt
A mlir/lib/Dialect/Arithmetic/Utils/Utils.cpp
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/Transforms/FoldSubViewOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/StandardOps/CMakeLists.txt
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
R mlir/lib/Dialect/StandardOps/Utils/Utils.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/CMakeLists.txt
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
Log Message:
-----------
[mlir] Move StandardOps/Utils to Arithmetic and sever a bunch of dependencies on Standard
The Utils.cpp file in StandardOps essentially just contains utilities for interacting with arithmetic
operations, and at this point makes more sense as a utility file for the arithemtic dialect.
Differential Revision: https://reviews.llvm.org/D118280
Commit: 8e123ca65f5f9286e59f2c79184d01673c87aa42
https://github.com/llvm/llvm-project/commit/8e123ca65f5f9286e59f2c79184d01673c87aa42
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-02-02 (Wed, 02 Feb 2022)
Changed paths:
M flang/lib/Optimizer/Builder/Character.cpp
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMultiDimReductionTransforms.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/Standard/invalid.mlir
M mlir/test/IR/core-ops.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir:Standard] Remove support for creating a `unit` ConstantOp
This is completely unused upstream, and does not really have well defined semantics
on what this is supposed to do/how this fits into the ecosystem. Given that, as part of
splitting up the standard dialect it's best to just remove this behavior, instead of try
to awkwardly fit it somewhere upstream. Downstream users are encouraged to
define their own operations that clearly can define the semantics of this.
This also uncovered several lingering uses of ConstantOp that weren't
updated to use arith::ConstantOp, and worked during conversions because
the constant was removed/converted into something else before
verification.
See https://llvm.discourse.group/t/standard-dialect-the-final-chapter/ for more discussion.
Differential Revision: https://reviews.llvm.org/D118654
Compare: https://github.com/llvm/llvm-project/compare/f7a6c341cb93...8e123ca65f5f
More information about the All-commits
mailing list