[all-commits] [llvm/llvm-project] 8cc34f: [flang][OpenMP] Support reduction of allocatable v...

Tom Eccles via All-commits all-commits at lists.llvm.org
Tue Apr 23 02:34:50 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8cc34fadec71c358c2c69bbca236294afb259e02
      https://github.com/llvm/llvm-project/commit/8cc34fadec71c358c2c69bbca236294afb259e02
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] Support reduction of allocatable variables (#88392)

Both arrays and trivial scalars are supported. Both cases must use
by-ref reductions because both are boxed.

My understanding of the standards are that OpenMP says that this should
follow the rules of the intrinsic reduction operators in fortran, and
fortran says that unallocated allocatable variables can only be
referenced to allocate them or test if they are already allocated.
Therefore we do not need a null pointer check in the combiner region.



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