[all-commits] [llvm/llvm-project] e8cc23: [flang] Use object before converts in fir.dispatch...

jeanPerier via All-commits all-commits at lists.llvm.org
Wed Oct 11 05:12:12 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e8cc230ef55923588fc6e361a2e9c868bda6025b
      https://github.com/llvm/llvm-project/commit/e8cc230ef55923588fc6e361a2e9c868bda6025b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    A flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/dispatch.f90
    M flang/test/Lower/pointer-association-polymorphic.f90

  Log Message:
  -----------
  [flang] Use object before converts in fir.dispatch (#68589)

In case of small interface mismatches between a function on the caller
and callee side, lowering insert converts. These are very often no-ops
at runtime (casting a descriptor to a descriptor), but they matter in
the strongly type IR.

The IR type of an object argument of a fir.dispatch must be the one of
the object, not the one of the callee side dummy, which may differ in
case of mismatches. Otherwise, the codgeneration of fir.dispatch cannot
succeed (it will not access the right binding tables).




More information about the All-commits mailing list