[all-commits] [llvm/llvm-project] 2c5cc1: [mlir][Transforms][NFC] Dialect Conversion: Move a...

Matthias Springer via All-commits all-commits at lists.llvm.org
Sat Jul 20 03:18:57 PDT 2024


  Branch: refs/heads/users/matthias-springer/dialect_conv_remove_mat_live_conv_2
  Home:   https://github.com/llvm/llvm-project
  Commit: 2c5cc19206e737c8fab549f8b5daa78654c257d1
      https://github.com/llvm/llvm-project/commit/2c5cc19206e737c8fab549f8b5daa78654c257d1
  Author: Matthias Springer <mspringer at nvidia.com>
  Date:   2024-07-20 (Sat, 20 Jul 2024)

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

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect Conversion: Move argument materialization logic

This commit moves the argument materialization logic from `legalizeConvertedArgumentTypes` to `legalizeUnresolvedMaterializations`.

Before this change:
- Argument materializations were created in `legalizeConvertedArgumentTypes` (which used to call `materializeLiveConversions`).

After this change:
- `legalizeConvertedArgumentTypes` creates a "placeholder" `unrealized_conversion_cast`.
- The placeholder `unrealized_conversion_cast` is replaced with an argument materialization (using the type converter) in `legalizeUnresolvedMaterializations`.
- All argument and target materializations now take place in the same location (`legalizeUnresolvedMaterializations`).

This commit brings us closer towards creating all source/target/argument materializations in one central step, which can then be made optional (and delegated to the user) in the future. (There is one more source materialization step that has not been moved yet.)

This commit also consolidates all `build*UnresolvedMaterialization` functions into a single `buildUnresolvedMaterialization` function.

This is a re-upload of #96329.



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