[all-commits] [llvm/llvm-project] 5f268d: [flang] Code generation for fir.pack/unpack_array....

Slava Zakharin via All-commits all-commits at lists.llvm.org
Mon Mar 31 11:42:39 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
      https://github.com/llvm/llvm-project/commit/5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-03-31 (Mon, 31 Mar 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/Transforms/lower-repack-arrays.fir

  Log Message:
  -----------
  [flang] Code generation for fir.pack/unpack_array. (#132080)

The code generation relies on `ShallowCopyDirect` runtime
to copy data between the original and the temporary arrays
(both directions). The allocations are done by the compiler
generated code. The heap allocations could have been passed
to `ShallowCopy` runtime, but I decided to expose the allocations
so that the temporary descriptor passed to `ShallowCopyDirect`
has `nocapture` - maybe this will be better for LLVM optimizations.



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