aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/BasicBlockSections.cpp
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2024-01-08 22:34:28 -0500
committerGitHub <noreply@github.com>2024-01-08 22:34:28 -0500
commitb856e77b2df212d740bfedc984572d812d07ecc8 (patch)
treed449a3276a76f3e642ab4993d42d9e6181126714 /llvm/lib/CodeGen/BasicBlockSections.cpp
parent96c4f1034cc3a93dafa9f8541548249deb813b78 (diff)
downloadllvm-b856e77b2df212d740bfedc984572d812d07ecc8.zip
llvm-b856e77b2df212d740bfedc984572d812d07ecc8.tar.gz
llvm-b856e77b2df212d740bfedc984572d812d07ecc8.tar.bz2
Set MaxAtomicSizeInBitsSupported for remaining targets. (#75703)
Targets affected: - NVPTX and BPF: set to 64 bits. - ARC, Lanai, and MSP430: set to 0 (they don't implement atomics). Those which didn't yet add AtomicExpandPass to their pass pipeline now do so. This will result in larger atomic operations getting expanded to `__atomic_*` libcalls via AtomicExpandPass. On all these targets, this now matches what Clang already does in the frontend. The only targets which do not configure AtomicExpandPass now are: - DirectX and SPIRV: they aren't normal backends. - AVR: a single-cpu architecture with no privileged/user divide, which could implement all atomics by disabling/enabling interrupts, regardless of size/alignment. Will be addressed by future work.
Diffstat (limited to 'llvm/lib/CodeGen/BasicBlockSections.cpp')
0 files changed, 0 insertions, 0 deletions