[all-commits] [llvm/llvm-project] 25d0f9: [Flang][OpenMP][OpenACC] Hoist nonAtomic Expr in a...

Kiran Chandramohan via All-commits all-commits at lists.llvm.org
Thu Nov 16 05:22:39 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 25d0f9fc3bddd50a38eeb44877cfa291c380d408
      https://github.com/llvm/llvm-project/commit/25d0f9fc3bddd50a38eeb44877cfa291c380d408
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-11-16 (Thu, 16 Nov 2023)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h
    M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
    M flang/test/Lower/OpenMP/FIR/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-update.f90

  Log Message:
  -----------
  [Flang][OpenMP][OpenACC] Hoist nonAtomic Expr in atomic intrinsics (#72131)

Hoist non-atomic expressions in atomic intrinsics. Use a list to collect
the non-atomic expressions since the max and min intrinsics can have
more than two operands.

Hoisting makes the lowering to LLVMIR of iand,ior,ieor intrinsics
trivial. For max and min this still results in multiple instructions in
the atomic region but the loads are removed, which should help improve
performance.




More information about the All-commits mailing list