[all-commits] [llvm/llvm-project] 62ae54: [flang][openacc] Add implicit copy for reduction i...

Razvan Lupusoru via All-commits all-commits at lists.llvm.org
Wed Oct 25 07:28:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 62ae549f57f9ce6e231edbaa72e6ad4cc8ee4e89
      https://github.com/llvm/llvm-project/commit/62ae549f57f9ce6e231edbaa72e6ad4cc8ee4e89
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2023-10-25 (Wed, 25 Oct 2023)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [flang][openacc] Add implicit copy for reduction in combined construct (#70148)

After PR#69417, lowering for combined constructs was updated to adhere
to OpenACC 3.3, section 2.11: `A private or reduction clause on a
combined construct is treated as if it appeared on the loop construct.`

However, the second part of that paragraph notes `In addition, a
reduction clause on a combined construct implies a copy clause`. Since
the acc dialect decomposes combined constructs, it is important to
distinguish between the case where an explicit data clause is required
(as noted in section 2.6.2) and the case where an implicit data action
must be generated by compiler.




More information about the All-commits mailing list