[all-commits] [llvm/llvm-project] b105e0: [flang] Remove materialization workaround in type ...

Matthias Springer via All-commits all-commits at lists.llvm.org
Sat Jul 13 06:31:54 PDT 2024


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

  Changed paths:
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang] Remove materialization workaround in type converter

This change is in preparation of #97903, which adds extra checks for materializations: it is now enforced that they produce an SSA value of the correct type, so the current workaround no longer works.

For `fir.has_value` the fix is simple: no target materializations on the operands are performed if the lowering patterns is initialized without a type converter. For `cg::XEmboxOp`, the existing workaround that skips `unrealized_conversion_cast` ops can be generalized. (This is still a workaround.)

Also remove the lowering pattern for `unrealized_conversion_cast`. This pattern has no effect because `unrealized_conversion_cast` ops that are inserted by the dialect conversion framework are never matched by the pattern driver.



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