[PATCH] D142463: [mlir][Conversion] Rename the MemRefToLLVM pass

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 24 05:50:26 PST 2023


qcolombet created this revision.
qcolombet added reviewers: mehdi_amini, nicolasvasilache, ftynse.
qcolombet added a project: MLIR.
Herald added subscribers: hanchung, jsetoain, Moerafaat, zero9178, anlunx, bzcheeseman, mattd, gchakrabarti, ThomasRaoux, awarzynski, sdasgup3, wenzhicui, wrengr, cota, mravishankar, teijeong, rdzhabarov, tatianashp, msifontes, jurahul, Kayjukh, grosul1, Joonsoo, liufengdb, aartbik, mgester, arpith-jacob, csigg, antiagainst, shauheen, rriddle.
Herald added a reviewer: antiagainst.
Herald added a reviewer: aartbik.
Herald added a reviewer: aartbik.
Herald added a reviewer: ThomasRaoux.
Herald added a project: All.
qcolombet requested review of this revision.
Herald added subscribers: stephenneuendorffer, jholewinski.
Herald added a reviewer: herhut.
Herald added a reviewer: dcaballe.

TL;DR Pretty boring patch; Rename `memref-to-llvm` into `finalize-memref-to-llvm`

Since the recent MemRef refactoring that centralizes the lowering of
complex MemRef operations outside of the conversion framework, the 
MemRefToLLVM pass doesn't directly convert these complex operations.

Instead, to fully convert the whole MemRef dialect space, MemRefToLLVM
needs to run after `expand-strided-metadata`.

Make this more obvious by changing the name of the pass and the option
associated with it from `convert-memref-to-llvm` to
`finalize-memref-to-llvm`.
The word "finalize" conveys that this pass needs to run after something
else and that something else is documented in its tablegen description.

This is a follow-up patch related to the conversation at: 
https://discourse.llvm.org/t/psa-you-need-to-run-expand-strided-metadata-before-memref-to-llvm-now/66956/14


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142463

Files:
  mlir/docs/TargetLLVMIR.md
  mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
  mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
  mlir/include/mlir/Conversion/MemRefToLLVM/MemRefToLLVM.h
  mlir/include/mlir/Conversion/Passes.td
  mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
  mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
  mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
  mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
  mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
  mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
  mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp
  mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
  mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
  mlir/test/Conversion/MemRefToLLVM/convert-alloca-scope.mlir
  mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
  mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
  mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
  mlir/test/Conversion/MemRefToLLVM/generic-functions.mlir
  mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
  mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
  mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
  mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
  mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
  mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
  mlir/test/Integration/Dialect/LLVMIR/CPU/test-complex-sparse-constant.mlir
  mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-collapse-tensor.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-elementwise.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-one-shot-bufferize.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-e2e.mlir
  mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
  mlir/test/Integration/Dialect/Memref/cast-runtime-verification.mlir
  mlir/test/Integration/Dialect/Memref/memref_abi.c
  mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
  mlir/test/Integration/Dialect/Standard/CPU/test_subview.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-mulf-full.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-mulf.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-muli-ext.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-muli-full.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-muli.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-tilezero-block.mlir
  mlir/test/Integration/Dialect/Vector/CPU/AMX/test-tilezero.mlir
  mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-sve.mlir
  mlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-inline-asm-vector-avx512.mlir
  mlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-sparse-dot-product.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-0-d-vectors.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-compress.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-expand.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-gather.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-maskedload.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-maskedstore.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-realloc.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-scatter.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-sparse-dot-matvec.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-sparse-saxpy-jagged-matvec.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-3d.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-transfer-to-loops.mlir
  mlir/test/Integration/Dialect/Vector/CPU/test-transfer-write.mlir
  mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
  mlir/test/mlir-cpu-runner/async-value.mlir
  mlir/test/mlir-cpu-runner/async.mlir
  mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
  mlir/test/mlir-cpu-runner/copy.mlir
  mlir/test/mlir-cpu-runner/global-memref.mlir
  mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
  mlir/test/mlir-cpu-runner/memref-reshape.mlir
  mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
  mlir/test/mlir-cpu-runner/unranked-memref.mlir
  mlir/test/mlir-cpu-runner/utils.mlir
  mlir/test/mlir-opt/async.mlir
  mlir/test/python/execution_engine.py
  mlir/test/python/integration/dialects/linalg/opsrun.py
  mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
  mlir/unittests/ExecutionEngine/Invoke.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142463.491736.patch
Type: text/x-patch
Size: 94595 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230124/c9cc0008/attachment-0001.bin>


More information about the llvm-commits mailing list