[PATCH] D76659: [mlir][Pass] Add support for generating pass utilities via tablegen

River Riddle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 23 17:59:24 PDT 2020


rriddle created this revision.
rriddle added reviewers: mehdi_amini, jpienaar.
Herald added subscribers: llvm-commits, bader, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, csigg, nicolasvasilache, antiagainst, shauheen, burmako, zzheng, eraman, jholewinski.
Herald added a reviewer: mravishankar.
Herald added a reviewer: antiagainst.
Herald added a reviewer: nicolasvasilache.
Herald added a reviewer: herhut.
Herald added a reviewer: antiagainst.
Herald added a reviewer: aartbik.
Herald added a project: LLVM.
rriddle added a child revision: D76660: [mlir][Pass] Add support for generating pass documention from the tablegen definition.

This revision adds support for generating utilities for passes such as options/statistics/etc. that can be inferred from the tablegen definition. This removes additional boilerplate from the pass, and also makes it easier to remove the reliance on the pass registry to provide certain things(e.g. the pass argument).

Depends On D76658 <https://reviews.llvm.org/D76658>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76659

Files:
  mlir/include/mlir/Conversion/Passes.td
  mlir/include/mlir/Dialect/Affine/Passes.td
  mlir/include/mlir/Dialect/Linalg/Passes.td
  mlir/include/mlir/Dialect/LoopOps/Passes.td
  mlir/include/mlir/Pass/PassBase.td
  mlir/include/mlir/TableGen/Pass.h
  mlir/include/mlir/Transforms/Passes.td
  mlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
  mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
  mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
  mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
  mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
  mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
  mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
  mlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
  mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
  mlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
  mlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
  mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
  mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
  mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
  mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
  mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
  mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
  mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
  mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
  mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
  mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
  mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
  mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
  mlir/lib/Dialect/FxpMathOps/Transforms/LowerUniformRealMath.cpp
  mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
  mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
  mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
  mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
  mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
  mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
  mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp
  mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp
  mlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp
  mlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
  mlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp
  mlir/lib/Quantizer/Transforms/AddDefaultStatsTestPass.cpp
  mlir/lib/Quantizer/Transforms/InferQuantizedTypesPass.cpp
  mlir/lib/Quantizer/Transforms/RemoveInstrumentationPass.cpp
  mlir/lib/TableGen/Pass.cpp
  mlir/lib/Transforms/CSE.cpp
  mlir/lib/Transforms/Canonicalizer.cpp
  mlir/lib/Transforms/Inliner.cpp
  mlir/lib/Transforms/LocationSnapshot.cpp
  mlir/lib/Transforms/LoopCoalescing.cpp
  mlir/lib/Transforms/LoopFusion.cpp
  mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
  mlir/lib/Transforms/MemRefDataFlowOpt.cpp
  mlir/lib/Transforms/OpStats.cpp
  mlir/lib/Transforms/PipelineDataTransfer.cpp
  mlir/lib/Transforms/StripDebugInfo.cpp
  mlir/lib/Transforms/SymbolDCE.cpp
  mlir/lib/Transforms/ViewOpGraph.cpp
  mlir/lib/Transforms/ViewRegionGraph.cpp
  mlir/tools/mlir-tblgen/PassGen.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76659.252188.patch
Type: text/x-patch
Size: 60935 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200324/2ef9c2b0/attachment.bin>


More information about the llvm-commits mailing list