From: LLVM Packaging Team Date: Fri, 22 Dec 2017 10:42:46 +0000 (+0000) Subject: removeduplicatedeclaration X-Git-Tag: archive/raspbian/1%5.0.1-2+rpi1^2~33 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=34cfbcf161185f16093a52df0bf36905b0ebef59;p=llvm-toolchain-5.0.git removeduplicatedeclaration Gbp-Pq: Name removeduplicatedeclaration.diff --- diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 883e609e1..0e3148a5b 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4810,33 +4810,6 @@ protected: Builder.defineMacro("__ELF__"); } - static bool shouldUseInlineAtomic(const llvm::Triple &T) { - // On linux, binaries targeting old cpus call functions in libgcc to - // perform atomic operations. The implementation in libgcc then calls into - // the kernel which on armv6 and newer uses ldrex and strex. The net result - // is that if we assume the kernel is at least as recent as the hardware, - // it is safe to use atomic instructions on armv6 and newer. - if (T.getOS() != llvm::Triple::Linux) - return false; - StringRef ArchName = T.getArchName(); - if (T.getArch() == llvm::Triple::arm) { - if (!ArchName.startswith("armv")) - return false; - StringRef VersionStr = ArchName.substr(4); - unsigned Version; - if (VersionStr.getAsInteger(10, Version)) - return false; - return Version >= 6; - } - assert(T.getArch() == llvm::Triple::thumb); - if (!ArchName.startswith("thumbv")) - return false; - StringRef VersionStr = ArchName.substr(6); - unsigned Version; - if (VersionStr.getAsInteger(10, Version)) - return false; - return Version >= 7; - } public: RTEMSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)