summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/PassRegistry.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2018-08-24 22:46:33 +0000
committerHans Wennborg <hans@hanshq.net>2018-08-24 22:46:33 +0000
commitb4278895a40ba4adc59d91c9a40537076183941b (patch)
treea3c2d21aaa49ca0c26299e00a56f042e8c98c5a5 /llvm/lib/IR/PassRegistry.cpp
parent3aca4811c8c969f1d75f650ba0871488c02437fc (diff)
downloadbcm5719-llvm-b4278895a40ba4adc59d91c9a40537076183941b.tar.gz
bcm5719-llvm-b4278895a40ba4adc59d91c9a40537076183941b.zip
Revert r323281 "Adjust MaxAtomicInlineWidth for i386/i486 targets."
As reported on http://lists.llvm.org/pipermail/cfe-dev/2018-August/058760.html, this broke i386-freebsd11 due to its lack of atomic 64 bit primitives. While that's not really this commit's fault, let's revert back to the old behaviour until this can be fixed. This means generating cmpxchg8b etc for i386 and i486 which don't technically support those, but that's been the behaviour for a long time, so a little longer probably doesn't hurt that much. > Adjust MaxAtomicInlineWidth for i386/i486 targets. > > This is to fix the bug reported in https://bugs.llvm.org/show_bug.cgi?id=34347#c6. > Currently, all MaxAtomicInlineWidth of x86-32 targets are set to 64. However, > i386 doesn't support any cmpxchg related instructions. i486 only supports cmpxchg. > So in this patch MaxAtomicInlineWidth is reset as follows: > For i386, the MaxAtomicInlineWidth should be 0 because no cmpxchg is supported. > For i486, the MaxAtomicInlineWidth should be 32 because it supports cmpxchg. > For others 32 bits x86 cpu, the MaxAtomicInlineWidth should be 64 because of cmpxchg8b. > > Differential Revision: https://reviews.llvm.org/D42154 llvm-svn: 340666
Diffstat (limited to 'llvm/lib/IR/PassRegistry.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud