[all-commits] [llvm/llvm-project] f6b159: [mlir][memref] Make `finalize-memref-to-llvm` the ...

Matthias Springer via All-commits all-commits at lists.llvm.org
Sun Oct 27 21:45:48 PDT 2024


  Branch: refs/heads/users/matthias-springer/finalize_memref
  Home:   https://github.com/llvm/llvm-project
  Commit: f6b15963995594d4ea61f56d7473e38b2583fe53
      https://github.com/llvm/llvm-project/commit/f6b15963995594d4ea61f56d7473e38b2583fe53
  Author: Matthias Springer <mspringer at nvidia.com>
  Date:   2024-10-28 (Mon, 28 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
    M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
    M mlir/test/mlir-cpu-runner/async-value.mlir
    M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.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/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
    M mlir/unittests/ExecutionEngine/Invoke.cpp

  Log Message:
  -----------
  [mlir][memref] Make `finalize-memref-to-llvm` the last MemRef pass

This commit updates all test cases and pass pipelines such that `finalize-memref-to-llvm` is the last pass that deals with MemRef types. (As the name already suggests.) This is now also mentioned in the pass documentation.

This change is preparation of merging the 1:1 and 1:N dialect conversions. As part of that change, argument materializations are going to disappear.

To understand why `finalize-memref-to-llvm` should be the final MemRef pass, consider this example:
```mlir
// RUN: mlir-opt -convert-func-to-llvm
func.func @foo(%m: memref<5xf32>) {
  %r = vector.transfer_read %m[...] ...
 ...
}
```

The output (assuming bare pointer calling convention) will be as follows:
```mlir
func.func @foo(%ptr: !llvm.ptr) {
  %m = builtin.unrealized_conversion_cast %ptr : !llvm.ptr to memref<5xf32>
}
```



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list