rebase of the patch

This commit is contained in:
Sylvestre Ledru 2017-05-27 15:30:26 +00:00
parent 25209f2a61
commit e8d2b9b75e

View File

@ -9,11 +9,11 @@ can't tell program if libatomic is always lock free.
Related bug: https://llvm.org/bugs/show_bug.cgi?id=19355 Related bug: https://llvm.org/bugs/show_bug.cgi?id=19355
Index: llvm-toolchain-snapshot_4.0~svn291557/clang/lib/Basic/Targets.cpp Index: llvm-toolchain-snapshot_5.0~svn304075/clang/lib/Basic/Targets.cpp
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_4.0~svn291557.orig/clang/lib/Basic/Targets.cpp --- llvm-toolchain-snapshot_5.0~svn304075.orig/clang/lib/Basic/Targets.cpp
+++ llvm-toolchain-snapshot_4.0~svn291557/clang/lib/Basic/Targets.cpp +++ llvm-toolchain-snapshot_5.0~svn304075/clang/lib/Basic/Targets.cpp
@@ -2761,7 +2761,10 @@ class X86TargetInfo : public TargetInfo @@ -2913,7 +2913,10 @@ class X86TargetInfo : public TargetInfo
FP_SSE, FP_SSE,
FP_387 FP_387
} FPMath = FP_Default; } FPMath = FP_Default;
@ -25,7 +25,7 @@ Index: llvm-toolchain-snapshot_4.0~svn291557/clang/lib/Basic/Targets.cpp
public: public:
X86TargetInfo(const llvm::Triple &Triple, const TargetOptions &) X86TargetInfo(const llvm::Triple &Triple, const TargetOptions &)
: TargetInfo(Triple) { : TargetInfo(Triple) {
@@ -2882,6 +2885,8 @@ public: @@ -3034,6 +3037,8 @@ public:
// acceptable. // acceptable.
// FIXME: This results in terrible diagnostics. Clang just says the CPU is // FIXME: This results in terrible diagnostics. Clang just says the CPU is
// invalid without explaining *why*. // invalid without explaining *why*.
@ -34,16 +34,16 @@ Index: llvm-toolchain-snapshot_4.0~svn291557/clang/lib/Basic/Targets.cpp
switch (CPU) { switch (CPU) {
case CK_Generic: case CK_Generic:
// No processor selected! // No processor selected!
@@ -3949,7 +3954,7 @@ void X86TargetInfo::getTargetDefines(con @@ -4163,7 +4168,7 @@ void X86TargetInfo::getTargetDefines(con
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
} }
- if (CPU >= CK_i586) - if (CPU >= CK_i586)
+ if (isCmpXChg8Supported()) + if (isCmpXChg8Supported())
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
}
@@ -4250,8 +4255,6 @@ public: if (HasFloat128)
@@ -4469,8 +4474,6 @@ public:
(1 << TargetInfo::LongDouble)); (1 << TargetInfo::LongDouble));
// x86-32 has atomics up to 8 bytes // x86-32 has atomics up to 8 bytes