[all-commits] [llvm/llvm-project] 722f90: [mlir][Pass][NFC] Replace usages of ModulePass wit...
River Riddle via All-commits
all-commits at lists.llvm.org
Tue Apr 7 14:10:08 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 722f909f7aa1d5ab21f68eb8ce1baf109cc5bb13
https://github.com/llvm/llvm-project/commit/722f909f7aa1d5ab21f68eb8ce1baf109cc5bb13
Author: River Riddle <riddleriver at gmail.com>
Date: 2020-04-07 (Tue, 07 Apr 2020)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-6.md
M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/include/mlir/Pass/Pass.h
M mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
M mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
M mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
M mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
M mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
M mlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp
M mlir/lib/Transforms/OpStats.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/IR/TestFunc.cpp
M mlir/test/lib/IR/TestSideEffects.cpp
M mlir/test/lib/IR/TestSymbolUses.cpp
M mlir/test/lib/Pass/TestPassManager.cpp
M mlir/test/lib/Transforms/TestAllReduceLowering.cpp
M mlir/test/lib/Transforms/TestCallGraph.cpp
M mlir/test/lib/Transforms/TestOpaqueLoc.cpp
Log Message:
-----------
[mlir][Pass][NFC] Replace usages of ModulePass with OperationPass<ModuleOp>
ModulePass doesn't provide any special utilities and thus doesn't give enough benefit to warrant a special pass class. This revision replaces all usages with the more general OperationPass.
Differential Revision: https://reviews.llvm.org/D77339
Commit: 80aca1eaf778a58458833591e82b74647b5b7280
https://github.com/llvm/llvm-project/commit/80aca1eaf778a58458833591e82b74647b5b7280
Author: River Riddle <riddleriver at gmail.com>
Date: 2020-04-07 (Tue, 07 Apr 2020)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-4.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/LowerToLLVM.cpp
M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
M mlir/include/mlir/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.h
M mlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
M mlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
M mlir/include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.h
M mlir/include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h
M mlir/include/mlir/Conversion/LinalgToLLVM/LinalgToLLVM.h
M mlir/include/mlir/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.h
M mlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h
M mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
M mlir/include/mlir/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.h
M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/GPU/Passes.h
M mlir/include/mlir/Dialect/Linalg/Passes.h
M mlir/include/mlir/Dialect/Quant/Passes.h
M mlir/include/mlir/Dialect/SPIRV/Passes.h
M mlir/include/mlir/Pass/Pass.h
M mlir/include/mlir/Transforms/Passes.h
M mlir/include/mlir/Transforms/ViewOpGraph.h
M mlir/include/mlir/Transforms/ViewRegionGraph.h
M mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
M mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
M mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
M mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
M mlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
M mlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
M mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
M mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.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/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp
M mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp
M mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp
M mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
M mlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp
M mlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/lib/Pass/PassDetail.h
M mlir/lib/Transforms/CSE.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/Inliner.cpp
M mlir/lib/Transforms/LocationSnapshot.cpp
M mlir/lib/Transforms/LoopCoalescing.cpp
M mlir/lib/Transforms/LoopFusion.cpp
M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
M mlir/lib/Transforms/MemRefDataFlowOpt.cpp
M mlir/lib/Transforms/OpStats.cpp
M mlir/lib/Transforms/ParallelLoopCollapsing.cpp
M mlir/lib/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Transforms/StripDebugInfo.cpp
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/lib/Transforms/ViewRegionGraph.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
M mlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp
M mlir/test/lib/Dialect/Affine/TestParallelismDetection.cpp
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
M mlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/IR/TestFunc.cpp
M mlir/test/lib/IR/TestMatchers.cpp
M mlir/test/lib/IR/TestSideEffects.cpp
M mlir/test/lib/IR/TestSymbolUses.cpp
M mlir/test/lib/Pass/TestPassManager.cpp
M mlir/test/lib/Transforms/TestAllReduceLowering.cpp
M mlir/test/lib/Transforms/TestCallGraph.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
M mlir/test/lib/Transforms/TestDominance.cpp
M mlir/test/lib/Transforms/TestGpuMemoryPromotion.cpp
M mlir/test/lib/Transforms/TestGpuParallelLoopMapping.cpp
M mlir/test/lib/Transforms/TestInlining.cpp
M mlir/test/lib/Transforms/TestLinalgTransforms.cpp
M mlir/test/lib/Transforms/TestLiveness.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/TestMemRefBoundCheck.cpp
M mlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp
M mlir/test/lib/Transforms/TestMemRefStrideCalculation.cpp
M mlir/test/lib/Transforms/TestOpaqueLoc.cpp
M mlir/test/lib/Transforms/TestVectorToLoopsConversion.cpp
M mlir/test/lib/Transforms/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][Pass] Remove the use of CRTP from the Pass classes
This revision removes all of the CRTP from the pass hierarchy in preparation for using the tablegen backend instead. This creates a much cleaner interface in the C++ code, and naturally fits with the rest of the infrastructure. A new utility class, PassWrapper, is added to replicate the existing behavior for passes not suitable for using the tablegen backend.
Differential Revision: https://reviews.llvm.org/D77350
Commit: 1834ad4a69701d338da1c5e2272e5523e0bbcb49
https://github.com/llvm/llvm-project/commit/1834ad4a69701d338da1c5e2272e5523e0bbcb49
Author: River Riddle <riddleriver at gmail.com>
Date: 2020-04-07 (Tue, 07 Apr 2020)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/include/mlir/Dialect/GPU/Passes.td
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/LoopOps/Passes.td
M mlir/include/mlir/Dialect/Quant/Passes.td
M mlir/include/mlir/Dialect/SPIRV/Passes.td
M mlir/include/mlir/Pass/PassBase.td
M mlir/include/mlir/TableGen/Pass.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
M mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
M mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
M mlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
M mlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
M mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
A mlir/lib/Conversion/PassDetail.h
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
M mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.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
A mlir/lib/Dialect/Affine/Transforms/PassDetail.h
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
A mlir/lib/Dialect/GPU/Transforms/PassDetail.h
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
A mlir/lib/Dialect/LLVMIR/Transforms/PassDetail.h
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
A mlir/lib/Dialect/Linalg/Transforms/PassDetail.h
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp
M mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp
M mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp
A mlir/lib/Dialect/LoopOps/Transforms/PassDetail.h
M mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
M mlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp
A mlir/lib/Dialect/Quant/Transforms/PassDetail.h
M mlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
A mlir/lib/Dialect/SPIRV/Transforms/PassDetail.h
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/lib/TableGen/Pass.cpp
M mlir/lib/Transforms/CSE.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/Inliner.cpp
M mlir/lib/Transforms/LocationSnapshot.cpp
M mlir/lib/Transforms/LoopCoalescing.cpp
M mlir/lib/Transforms/LoopFusion.cpp
M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
M mlir/lib/Transforms/MemRefDataFlowOpt.cpp
M mlir/lib/Transforms/OpStats.cpp
M mlir/lib/Transforms/ParallelLoopCollapsing.cpp
A mlir/lib/Transforms/PassDetail.h
M mlir/lib/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Transforms/StripDebugInfo.cpp
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/lib/Transforms/ViewRegionGraph.cpp
M mlir/tools/mlir-tblgen/PassDocGen.cpp
M mlir/tools/mlir-tblgen/PassGen.cpp
Log Message:
-----------
[mlir][Pass] Update the PassGen to generate base classes instead of utilities
Summary:
This is much cleaner, and fits the same structure as many other tablegen backends. This was not done originally as the CRTP in the pass classes made it overly verbose/complex.
Differential Revision: https://reviews.llvm.org/D77367
Compare: https://github.com/llvm/llvm-project/compare/2481f26ac3f2...1834ad4a6970
More information about the All-commits
mailing list