[all-commits] [llvm/llvm-project] ea1e76: [flang] Carry dynamic type when emboxing polymorph...

Valentin Clement (バレンタイン クレメン) via All-commits all-commits at lists.llvm.org
Thu Oct 27 11:57:24 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ea1e767a060ca2c9deb0326f20ccc5291100e530
      https://github.com/llvm/llvm-project/commit/ea1e767a060ca2c9deb0326f20ccc5291100e530
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/test/Lower/allocatable-polymorphic.f90

  Log Message:
  -----------
  [flang] Carry dynamic type when emboxing polymorphic pointer

In order to be passed as passed-object in the dynamic dispatch, the
polymorphic pointer entity are emboxed. In this process, the dynamic
type must be preserve and pass to fir.embox as the tdesc operand. This
patch introduce a new ExtendedValue that allow to carry over the
dynamic type when the value is unboxed.

Depends on D136820

Reviewed By: PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D136824




More information about the All-commits mailing list