This is an archive of the discontinued LLVM Phabricator instance.

[X86] Preserve volatile ATOMIC_LOAD_OR nodes
ClosedPublic

Authored by n-omer on Jul 6 2023, 7:18 AM.

Details

Summary

Fixes #63692.

In reference to volatile memory accesses, the langref says (https://llvm.org/docs/LangRef.html#volatile-memory-accesses):

the backend should never split or merge target-legal volatile load/store instructions.

Which was not being upheld.

Diff Detail

Event Timeline

n-omer created this revision.Jul 6 2023, 7:18 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2023, 7:18 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
n-omer requested review of this revision.Jul 6 2023, 7:18 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 6 2023, 7:18 AM
n-omer updated this revision to Diff 537708.Jul 6 2023, 7:18 AM

Add test.

n-omer updated this revision to Diff 537710.Jul 6 2023, 7:19 AM

Please can you pre-commit the test with current (trunk) codegen and then rebase the patch to show the codegen diff?

n-omer edited the summary of this revision. (Show Details)Jul 10 2023, 7:30 AM
This comment was removed by pengfei.
pengfei accepted this revision.Jul 11 2023, 12:41 AM

LGTM.

This revision is now accepted and ready to land.Jul 11 2023, 12:41 AM
This revision was automatically updated to reflect the committed changes.