[all-commits] [llvm/llvm-project] 48dca1: [OpenACC][CIR] Implement 'atomic capture' lowering...

Erich Keane via All-commits all-commits at lists.llvm.org
Wed Nov 19 06:20:04 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 48dca1e929f5ef4ffbd4d291ce8bd9ab03c23fed
      https://github.com/llvm/llvm-project/commit/48dca1e929f5ef4ffbd4d291ce8bd9ab03c23fed
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-11-19 (Wed, 19 Nov 2025)

  Changed paths:
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    A clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'atomic capture' lowering (#168422)

The 'atomic capture' variant of the `atomic` construct accepts either a
single statement, or a compound statement containing two statements.
Each of the statements it accepts meet a form of the previous
read/write/update forms, or is a combination of two.

The IR node for atomic capture takes two separate other acc.atomics,
plus a terminator.

This patch implements all of the lowering for these.

Note: This gets the postfix-increment/decrement wrong, but the effort
to do so is enough that I believe we can do that in a followup patch, so
I'll be doing so in the next patch.



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