[all-commits] [llvm/llvm-project] 415745: [mlir][Pass] Deprecate FunctionPass in favor of Op...

River Riddle via All-commits all-commits at lists.llvm.org
Tue Jan 18 20:03:05 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 41574554257b4ebb478b89c01497a05773dbfc14
      https://github.com/llvm/llvm-project/commit/41574554257b4ebb478b89c01497a05773dbfc14
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M mlir/docs/Bufferization.md
    M mlir/docs/Rationale/Rationale.md
    M mlir/docs/Tutorials/Toy/Ch-4.md
    M mlir/docs/Tutorials/Toy/Ch-5.md
    M mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
    M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
    M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
    M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/Affine/Passes.h
    M mlir/include/mlir/Dialect/Affine/Passes.td
    M mlir/include/mlir/Dialect/Arithmetic/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/include/mlir/Dialect/GPU/Passes.td
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/include/mlir/Dialect/Quant/Passes.td
    M mlir/include/mlir/Dialect/SCF/Passes.td
    M mlir/include/mlir/Dialect/Shape/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Shape/Transforms/Passes.td
    M mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
    M mlir/include/mlir/Pass/Pass.h
    M mlir/include/mlir/Pass/PassBase.td
    M mlir/include/mlir/Transforms/Passes.td
    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/MathToLLVM/MathToLLVM.cpp
    M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.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/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
    M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Arithmetic/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Arithmetic/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
    M mlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp
    M mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
    M mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
    M mlir/lib/Dialect/Shape/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
    M mlir/lib/Dialect/Shape/Transforms/ShapeToShapeLowering.cpp
    M mlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/StandardOps/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
    M mlir/lib/Transforms/BufferOptimizations.cpp
    M mlir/lib/Transforms/LoopCoalescing.cpp
    M mlir/lib/Transforms/LoopFusion.cpp
    M mlir/lib/Transforms/PipelineDataTransfer.cpp
    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/TestAffineDataCopy.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineLoopUnswitching.cpp
    M mlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp
    M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgDistribution.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgHoisting.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.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/SCF/TestSCFUtils.cpp
    M mlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
    M mlir/test/lib/Dialect/StandardOps/TestComposeSubView.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/lib/IR/TestDominance.cpp
    M mlir/test/lib/IR/TestMatchers.cpp
    M mlir/test/lib/IR/TestTypes.cpp
    M mlir/test/lib/Pass/TestPassManager.cpp
    M mlir/test/lib/Transforms/TestConstantFold.cpp
    M mlir/test/lib/Transforms/TestInlining.cpp
    M mlir/test/lib/Transforms/TestLoopFusion.cpp
    M mlir/test/lib/Transforms/TestLoopMapping.cpp
    M mlir/test/lib/Transforms/TestLoopParametricTiling.cpp
    M mlir/test/lib/Transforms/TestLoopUnrolling.cpp
    M mlir/unittests/Pass/PassManagerTest.cpp

  Log Message:
  -----------
  [mlir][Pass] Deprecate FunctionPass in favor of OperationPass<FuncOp>

The only benefit of FunctionPass is that it filters out function
declarations. This isn't enough to justify carrying it around, as we can
simplify filter out declarations when necessary within the pass. We can
also explore with better scheduling primitives to filter out declarations
at the pipeline level in the future.

The definition of FunctionPass is left intact for now to allow time for downstream
users to migrate.

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




More information about the All-commits mailing list