CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/06/04 16:33:17
Modified files:
gnu/llvm/lib/Target/PowerPC: PPCISelLowering.cpp
Log message:
Set max atomic size for PowerPC.
32-bit PowerPC doesn't have instructions for lock-free atomic ops on
8-byte values, and needs libcalls like __atomic_fetch_add_8(). In
code like "_Atomic long long a; a++;", clang doesn't emit a libcall.
This was causing linker errors on symbols like __sync_fetch_and_add_8.
Now that LLVM knows the max atomic size, its AtomicExpandPass changes
these 8-byte ops into libcalls.
ok mortimer@