[all-commits] [llvm/llvm-project] a78359: [flang] add procedure flags to fir.dispatch (#110970)

jeanPerier via All-commits all-commits at lists.llvm.org
Thu Oct 3 08:10:25 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a78359c2ed68489b2dde558c2660515e481ae60f
      https://github.com/llvm/llvm-project/commit/a78359c2ed68489b2dde558c2660515e481ae60f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/fir-ops.fir
    M flang/test/Lower/polymorphic.f90

  Log Message:
  -----------
  [flang] add procedure flags to fir.dispatch (#110970)

Currently, it is not possible to distinguish between BIND(C) from
non-BIND(C) type bound procedure call at the FIR level.
This will be a problem when dealing with derived type BIND(C) function
where the ABI differ between BIND(C)/non-BIND(C) but the FIR signature
looks like the same at the FIR level.

Fix this by adding the Fortran procedure attributes to fir.distpatch,
and propagating it until the related fir.call is generated in
fir.dispatch codegen.



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