diff options
| author | Erich Keane <ekeane@nvidia.com> | 2025-10-24 12:04:52 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-24 19:04:52 +0000 | 
| commit | f7b4018748715aea536d3d266786ab0d895b335b (patch) | |
| tree | d7088f7b8985e3971d9be7191d6ebc736cda3896 /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
| parent | dddcb84f152b99dfe7e117c02ab506c6c14b2f2b (diff) | |
| download | llvm-f7b4018748715aea536d3d266786ab0d895b335b.zip llvm-f7b4018748715aea536d3d266786ab0d895b335b.tar.gz llvm-f7b4018748715aea536d3d266786ab0d895b335b.tar.bz2  | |
[OpenACC][CIR] Implement atomic update lowering (#164836)
This is the 3rd of 4 forms of the 'atomic' construct. This one allows
increment/decrement, compound-assign, and assign-to-bin-op(referencing
    the original variable).
All of the above is enforced during Sema, but for our purposes, we ONLY
need to know the variable on the LHS and the expression, so this does
that.
The ACC dialect for acc.atomic.update uses a 'recipe' as well, which
takes the VALUE, and yields the value of the updated value.
To simplify the implementation, our lowering very simply creates an
alloca inside the recipe, stores the passed-in value, then loads/yields
it at the end.
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions
