This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Handle private atomics
ClosedPublic

Authored by arsenm on Apr 5 2022, 5:36 PM.

Details

Reviewers
AlexVlx
reames
Group Reviewers
Restricted Project
Summary

Use new NotAtomic expansion to turn these into the equivalent
non-atomic operations. Independent lanes cannot access the private
memory of other lanes, so there's no possibility for synchronization.

These don't really appear directly in user code, but
InferAddressSpaces can make these appear after optimizations.

Fixes issues 54693 and 54274.

Diff Detail

Event Timeline

arsenm created this revision.Apr 5 2022, 5:36 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 5 2022, 5:36 PM
arsenm requested review of this revision.Apr 5 2022, 5:36 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 5 2022, 5:36 PM
Herald added a subscriber: wdng. · View Herald Transcript
reames accepted this revision.Apr 6 2022, 4:07 PM
reames added a subscriber: reames.

LGTM

(I'm assuming you know the amdgpu details and am only looking at the API usage.)

This revision is now accepted and ready to land.Apr 6 2022, 4:07 PM
AlexVlx accepted this revision as: AlexVlx.Apr 6 2022, 5:25 PM

LGTM, thanks (I'm assuming the test failures are a fluke because they're so... odd)