/// Returns -1 if unknown for the current host system.
int getHostNumPhysicalCores();
- /// helper functions to extract HostCPUName from /proc/cpuinfo on linux.
- namespace LinuxReadCpuInfo {
- StringRef getHostCPUName_powerpc(const StringRef &ProcCpuinfoContent);
- StringRef getHostCPUName_arm(const StringRef &ProcCpuinfoContent);
- StringRef getHostCPUName_s390x(const StringRef &ProcCpuinfoContent);
+ namespace detail {
+ /// Helper functions to extract HostCPUName from /proc/cpuinfo on linux.
+ StringRef getHostCPUNameForPowerPC(const StringRef &ProcCpuinfoContent);
+ StringRef getHostCPUNameForARM(const StringRef &ProcCpuinfoContent);
+ StringRef getHostCPUNameForS390x(const StringRef &ProcCpuinfoContent);
}
}
}
static_assert(std::numeric_limits<T>::is_integer &&
!std::numeric_limits<T>::is_signed,
"Only unsigned integral types are allowed.");
- return detail::TrailingZerosCounter<T, sizeof(T)>::count(Val, ZB);
+ return llvm::detail::TrailingZerosCounter<T, sizeof(T)>::count(Val, ZB);
}
namespace detail {
static_assert(std::numeric_limits<T>::is_integer &&
!std::numeric_limits<T>::is_signed,
"Only unsigned integral types are allowed.");
- return detail::LeadingZerosCounter<T, sizeof(T)>::count(Val, ZB);
+ return llvm::detail::LeadingZerosCounter<T, sizeof(T)>::count(Val, ZB);
}
/// \brief Get the index of the first set bit starting from the least
using namespace sys;
-const char detail::unit<std::ratio<3600>>::value[] = "h";
-const char detail::unit<std::ratio<60>>::value[] = "m";
-const char detail::unit<std::ratio<1>>::value[] = "s";
-const char detail::unit<std::milli>::value[] = "ms";
-const char detail::unit<std::micro>::value[] = "us";
-const char detail::unit<std::nano>::value[] = "ns";
+const char llvm::detail::unit<std::ratio<3600>>::value[] = "h";
+const char llvm::detail::unit<std::ratio<60>>::value[] = "m";
+const char llvm::detail::unit<std::ratio<1>>::value[] = "s";
+const char llvm::detail::unit<std::milli>::value[] = "ms";
+const char llvm::detail::unit<std::micro>::value[] = "us";
+const char llvm::detail::unit<std::nano>::value[] = "ns";
static inline struct tm getStructTM(TimePoint<> TP) {
struct tm Storage;
return std::move(*Text);
}
-StringRef sys::LinuxReadCpuInfo::getHostCPUName_powerpc(
+StringRef sys::detail::getHostCPUNameForPowerPC(
const StringRef &ProcCpuinfoContent) {
// Access to the Processor Version Register (PVR) on PowerPC is privileged,
// and so we must use an operating-system interface to determine the current
.Default(generic);
}
-StringRef sys::LinuxReadCpuInfo::getHostCPUName_arm(
+StringRef sys::detail::getHostCPUNameForARM(
const StringRef &ProcCpuinfoContent) {
// The cpuid register on arm is not accessible from user space. On Linux,
// it is exposed through the /proc/cpuinfo file.
return "generic";
}
-StringRef sys::LinuxReadCpuInfo::getHostCPUName_s390x(
+StringRef sys::detail::getHostCPUNameForS390x(
const StringRef &ProcCpuinfoContent) {
// STIDP is a privileged operation, so use /proc/cpuinfo instead.
StringRef sys::getHostCPUName() {
std::unique_ptr<llvm::MemoryBuffer> P = getProcCpuinfoContent();
const StringRef& Content = P ? P->getBuffer() : "";
- return LinuxReadCpuInfo::getHostCPUName_powerpc(Content);
+ return detail::getHostCPUNameForPowerPC(Content);
}
#elif defined(__linux__) && defined(__arm__)
StringRef sys::getHostCPUName() {
std::unique_ptr<llvm::MemoryBuffer> P = getProcCpuinfoContent();
const StringRef& Content = P ? P->getBuffer() : "";
- return LinuxReadCpuInfo::getHostCPUName_arm(Content);
+ return detail::getHostCPUNameForARM(Content);
}
#elif defined(__linux__) && defined(__s390x__)
StringRef sys::getHostCPUName() {
std::unique_ptr<llvm::MemoryBuffer> P = getProcCpuinfoContent();
const StringRef& Content = P ? P->getBuffer() : "";
- return LinuxReadCpuInfo::getHostCPUName_s390x(Content);
+ return detail::getHostCPUNameForS390x(Content);
}
#else
StringRef sys::getHostCPUName() { return "generic"; }
Serial : 0000000000000000
)";
- EXPECT_EQ(sys::LinuxReadCpuInfo::getHostCPUName_arm(CortexA9ProcCpuinfo),
+ EXPECT_EQ(sys::detail::getHostCPUNameForARM(CortexA9ProcCpuinfo),
"cortex-a9");
- EXPECT_EQ(
- sys::LinuxReadCpuInfo::getHostCPUName_arm("CPU implementer : 0x41\n"
- "CPU part : 0xc0f"),
- "cortex-a15");
+ EXPECT_EQ(sys::detail::getHostCPUNameForARM("CPU implementer : 0x41\n"
+ "CPU part : 0xc0f"),
+ "cortex-a15");
// Verify that both CPU implementer and CPU part are checked:
- EXPECT_EQ(
- sys::LinuxReadCpuInfo::getHostCPUName_arm("CPU implementer : 0x40\n"
- "CPU part : 0xc0f"),
- "generic");
- EXPECT_EQ(
- sys::LinuxReadCpuInfo::getHostCPUName_arm("CPU implementer : 0x51\n"
- "CPU part : 0x06f"),
- "krait");
+ EXPECT_EQ(sys::detail::getHostCPUNameForARM("CPU implementer : 0x40\n"
+ "CPU part : 0xc0f"),
+ "generic");
+ EXPECT_EQ(sys::detail::getHostCPUNameForARM("CPU implementer : 0x51\n"
+ "CPU part : 0x06f"),
+ "krait");
}