[all-commits] [llvm/llvm-project] 6cd797: [WIP] 1:N conversion pattern

Matthias Springer via All-commits all-commits at lists.llvm.org
Sun Oct 27 18:22:57 PDT 2024


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

  Changed paths:
    A mlir/artifacts/jq-linux64
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [WIP] 1:N conversion pattern


  Commit: 01ba3d917f1ec4568545b6f3808d9b74be7614f4
      https://github.com/llvm/llvm-project/commit/01ba3d917f1ec4568545b6f3808d9b74be7614f4
  Author: Matthias Springer <mspringer at nvidia.com>
  Date:   2024-10-28 (Mon, 28 Oct 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Extra checks during `replaceOp`

This commit adds extra checks/assertions to the `ConversionPatternRewriterImpl::notifyOpReplaced` to improve its robustness.

Replacing an `unrealized_conversion_cast` op that was created by the driver is forbidden and is now caught early during `replaceOp`. It may work in some cases, but is generally dangerous because the conversion driver keeps track of these ops. (Erasing is them is fine.) This change is also in preparation of a subsequent commit that splits the `ConversionValueMapping` into replacements and materializations (with the goal of simplifying block signature conversions).

`null` replacement values are no longer registered in the `ConversionValueMapping`. This was an oversight in #106760. `null` values in the mapping could result in crashes when using the `ConversionValueMapping` API.


  Commit: 787dffb1cb5f1e1f99a2fa6e4fb3cce0607ae4c9
      https://github.com/llvm/llvm-project/commit/787dffb1cb5f1e1f99a2fa6e4fb3cce0607ae4c9
  Author: Matthias Springer <mspringer at nvidia.com>
  Date:   2024-10-28 (Mon, 28 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.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/unittests/ExecutionEngine/Invoke.cpp

  Log Message:
  -----------
  do not build argument materializations anymore


Compare: https://github.com/llvm/llvm-project/compare/820769d9f85d...787dffb1cb5f

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