Ideally we want to lower ATOMIC_FENCE into __sync_synchronize. However, libgcc doesn't implement that builtin as GCC simply generates an inline assembly memory barrier whenever there has to be a fence.
We use a similar way to lower ATOMIC_FENCE.
Paths
| Differential D146996
[M68k] Add support for lowering atomic fence ClosedPublic Authored by myhsu on Mar 27 2023, 12:39 PM.
Details
Summary Ideally we want to lower ATOMIC_FENCE into __sync_synchronize. However, libgcc doesn't implement that builtin as GCC simply generates an inline assembly memory barrier whenever there has to be a fence. We use a similar way to lower ATOMIC_FENCE.
Diff Detail
Event TimelineThis revision is now accepted and ready to land.Mar 31 2023, 7:44 PM Comment Actions
yes I believe so. Closed by commit rGed372d194f93: [M68k] Add support for lowering atomic fence (authored by myhsu). · Explain WhyApr 1 2023, 7:59 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 510289 llvm/lib/Target/M68k/M68kISelLowering.h
llvm/lib/Target/M68k/M68kISelLowering.cpp
llvm/test/CodeGen/M68k/Atomics/fence.ll
|