[all-commits] [llvm/llvm-project] 91e1b4: [flang] add fir.box_offset operation (#73641)

jeanPerier via All-commits all-commits at lists.llvm.org
Wed Nov 29 01:27:42 PST 2023


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/box-offset-codegen.fir
    A flang/test/Fir/box-offset.fir
    M flang/test/Fir/invalid.fir

  Log Message:
  -----------
  [flang] add fir.box_offset operation (#73641)

This operation allows computing the address of descriptor fields. It is
needed to help attaching descriptors in OpenMP/OpenACC target region.
The pointers inside the descriptor structure must be mapped too, but the
fir.box is abstract, so these fields cannot be computed with
fir.coordinate_of.

To preserve the abstraction of the descriptor layout in FIR, introduce
an operation specifically to !fir.ref<fir.box<>> address fields based on
field names (base_addr or derived_type).




More information about the All-commits mailing list