[M68k] Add support for lowering atomic fence
authorMin-Yih Hsu <minyihh@uci.edu>
Mon, 27 Mar 2023 17:27:27 +0000 (10:27 -0700)
committerMin-Yih Hsu <minyihh@uci.edu>
Sun, 2 Apr 2023 02:57:04 +0000 (19:57 -0700)
commited372d194f938b750855ad1297517d26f1102250
treeb5d50d7495000e8f214719a6d83744834e5f13bc
parent1dd31ebe5418d9581f152dcb6cbc4aed66ac9472
[M68k] Add support for lowering atomic fence

Ideally we want to lower ATOMIC_FENCE into `__sync_synchronize`.
However, libgcc doesn't implement that builtin as GCC simply generates an
inline assembly barrier whenever there needs to be a fence.

We use a similar way to lower ATOMIC_FENCE.

Differential Revision: https://reviews.llvm.org/D146996
llvm/lib/Target/M68k/M68kISelLowering.cpp
llvm/lib/Target/M68k/M68kISelLowering.h
llvm/test/CodeGen/M68k/Atomics/fence.ll [new file with mode: 0644]