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

Matthias Springer via All-commits all-commits at lists.llvm.org
Sat Jul 13 05:37:30 PDT 2024


  Branch: refs/heads/users/matthias-springer/remove_flang_workaround
  Home:   https://github.com/llvm/llvm-project
  Commit: 91b74e8b7be190bfc8c8355a053bf88f67fe1765
      https://github.com/llvm/llvm-project/commit/91b74e8b7be190bfc8c8355a053bf88f67fe1765
  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/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