[all-commits] [llvm/llvm-project] 87d6bf: [mlir][test] Generalize a bunch of FuncOp based pa...

River Riddle via All-commits all-commits at lists.llvm.org
Tue Mar 8 12:29:14 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 87d6bf37288d47ddf702ac4da2cb61006feadbab
      https://github.com/llvm/llvm-project/commit/87d6bf37288d47ddf702ac4da2cb61006feadbab
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M mlir/include/mlir/IR/FunctionInterfaces.h
    M mlir/include/mlir/IR/FunctionInterfaces.td
    M mlir/test/Analysis/test-dominance.mlir
    M mlir/test/Analysis/test-liveness.mlir
    M mlir/test/Analysis/test-match-reduction.mlir
    M mlir/test/Analysis/test-topoligical-sort.mlir
    M mlir/test/Dialect/Affine/loop-unswitch.mlir
    M mlir/test/Dialect/Affine/memref-stride-calculation.mlir
    M mlir/test/IR/diagnostic-handler-filter.mlir
    M mlir/test/IR/test-matchers.mlir
    M mlir/test/Transforms/parametric-mapping.mlir
    M mlir/test/lib/Analysis/TestLiveness.cpp
    M mlir/test/lib/Analysis/TestMatchReduction.cpp
    M mlir/test/lib/Analysis/TestMemRefBoundCheck.cpp
    M mlir/test/lib/Analysis/TestMemRefDependenceCheck.cpp
    M mlir/test/lib/Analysis/TestMemRefStrideCalculation.cpp
    M mlir/test/lib/Analysis/TestSlice.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineLoopUnswitching.cpp
    M mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp
    M mlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuParallelLoopMapping.cpp
    M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
    M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
    M mlir/test/lib/Dialect/Math/TestExpandTanh.cpp
    M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
    M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
    M mlir/test/lib/Dialect/MemRef/TestMultiBuffer.cpp
    M mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
    M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
    M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
    M mlir/test/lib/IR/TestDiagnostics.cpp
    M mlir/test/lib/IR/TestDominance.cpp
    M mlir/test/lib/IR/TestFunc.cpp
    M mlir/test/lib/IR/TestMatchers.cpp
    M mlir/test/lib/IR/TestOpaqueLoc.cpp
    M mlir/test/lib/IR/TestVisitors.cpp
    M mlir/test/lib/Transforms/TestConstantFold.cpp

  Log Message:
  -----------
  [mlir][test] Generalize a bunch of FuncOp based passes to run on any operation/interfaces

A lot of test passes are currently anchored on FuncOp, but this
dependency
is generally just historical. A majority of these test passes can run on
any operation, or can operate on a specific interface
(FunctionOpInterface/SymbolOpInterface).
This allows for greatly reducing the API dependency on FuncOp, which
is slated to be moved out of the Builtin dialect.

Differential Revision: https://reviews.llvm.org/D121191


  Commit: 171850c55aaea3044a98aa573b747d4f7d9f4ea1
      https://github.com/llvm/llvm-project/commit/171850c55aaea3044a98aa573b747d4f7d9f4ea1
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp

  Log Message:
  -----------
  [mlir][Vector] Drop use of FuncOp in transferOpflowOpt

FuncOp isn't really important to hardcode here, it is only used to act
as a root operation for the transformation.

Differential Revision: https://reviews.llvm.org/D121195


  Commit: f8d5c73c825c19e0c88ff4b7f1900667f06161aa
      https://github.com/llvm/llvm-project/commit/f8d5c73c825c19e0c88ff4b7f1900667f06161aa
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M mlir/include/mlir/IR/BuiltinDialect.td
    M mlir/include/mlir/IR/BuiltinOps.td
    M mlir/include/mlir/IR/FunctionInterfaces.h
    M mlir/include/mlir/IR/OpBase.td
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/lib/IR/BuiltinDialect.cpp
    M mlir/test/lib/IR/TestPrintInvalid.cpp
    M mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp

  Log Message:
  -----------
  [mlir][NFC] Update the Builtin dialect to use "Both" accessors

Differential Revision: https://reviews.llvm.org/D121189


  Commit: 47f175b09b63ba340f0eb8c736945f36a5e11393
      https://github.com/llvm/llvm-project/commit/47f175b09b63ba340f0eb8c736945f36a5e11393
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M mlir/include/mlir/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.h
    M mlir/include/mlir/Conversion/ComplexToStandard/ComplexToStandard.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
    M mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
    M mlir/include/mlir/Conversion/VectorToGPU/VectorToGPU.h
    M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/PassDetail.h
    M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
    M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/test/Conversion/ArithmeticToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ArithmeticToLLVM/convert-nd-vector-to-llvmir.mlir
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
    M mlir/test/Conversion/FuncToLLVM/func-memref.mlir
    M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
    M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
    M mlir/test/Conversion/SCFToGPU/no_blocks_no_threads.mlir
    M mlir/test/Conversion/SCFToGPU/step_one.mlir
    M mlir/test/Conversion/SCFToGPU/step_positive.mlir
    M mlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
    M mlir/test/Conversion/VectorToSCF/tensor-transfer-ops.mlir
    M mlir/test/Conversion/VectorToSCF/unrolled-tensor-transfer-ops.mlir
    M mlir/test/Conversion/VectorToSCF/unrolled-vector-to-loops.mlir
    M mlir/test/Conversion/VectorToSCF/vector-to-scf-mask-and-permutation-map.mlir
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-comprehensive-bufferize.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.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-to-loops.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/test-vector-distribute.mlir
    M mlir/test/Target/LLVMIR/arm-neon-2d.mlir
    M mlir/test/Target/LLVMIR/vector-to-llvm-ir.mlir
    M mlir/test/mlir-cpu-runner/async-error.mlir
    M mlir/test/mlir-cpu-runner/async-group.mlir
    M mlir/test/mlir-cpu-runner/async-value.mlir
    M mlir/test/mlir-cpu-runner/async.mlir
    M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
    M mlir/test/mlir-cpu-runner/copy.mlir
    M mlir/test/mlir-cpu-runner/global-memref.mlir
    M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
    M mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
    M mlir/test/mlir-cpu-runner/memref-reshape.mlir
    M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
    M mlir/test/mlir-cpu-runner/unranked-memref.mlir
    M mlir/test/mlir-cpu-runner/utils.mlir
    M mlir/test/mlir-opt/async.mlir

  Log Message:
  -----------
  [mlir] Update FuncOp conversion passes to Pass/InterfacePass<FunctionOpInterface>

These passes generally don't rely on any special aspects of FuncOp, and moving allows
for these passes to be used in many more situations. The passes that obviously weren't
relying on invariants guaranteed by a "function" were updated to be generic pass, the
rest were updated to be FunctionOpinterface InterfacePasses.

The test updates are NFC switching from implicit nesting (-pass -pass2) form to
the -pass-pipeline form (generic passes do not implicitly nest as op-specific passes do).

Differential Revision: https://reviews.llvm.org/D121190


  Commit: f05b0afa7938cad27897b0b4ecaf875fbe90b524
      https://github.com/llvm/llvm-project/commit/f05b0afa7938cad27897b0b4ecaf875fbe90b524
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp

  Log Message:
  -----------
  [mlir] Change ComplexToLLVM to be a generic pass

It is currently a module pass, but shouldn't be. All of the patterns
are local conversions, and don't require anything about
functions/modules.

Differential Revision: https://reviews.llvm.org/D121192


  Commit: 7ea8c653698775f48a0b34ad906659b16bf566f4
      https://github.com/llvm/llvm-project/commit/7ea8c653698775f48a0b34ad906659b16bf566f4
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td

  Log Message:
  -----------
  [mlir][MemRef] Change memref-expand to be a generic operation pass

This pass doesn't rely on any specific characteristics of FuncOp, and
can just be a generic operation pass.

Differential Revision: https://reviews.llvm.org/D121193


  Commit: 47e3f946367381c57c5219456a0de8a70f8073bb
      https://github.com/llvm/llvm-project/commit/47e3f946367381c57c5219456a0de8a70f8073bb
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M mlir/lib/Dialect/SCF/SCF.cpp

  Log Message:
  -----------
  [mlir][SCF] Replace use of FuncOp with FunctionOpInterface

There is nothing specific to FuncOp about the check, it can be changed
to be interface based.

Differential Revision: https://reviews.llvm.org/D121194


Compare: https://github.com/llvm/llvm-project/compare/276ca87382b8...47e3f9463673


More information about the All-commits mailing list