Revert "Host: Internalize computeHostNumPhysicalCores/computeHostNumHardwareThreads"
authorFangrui Song <i@maskray.me>
Thu, 24 Nov 2022 04:12:16 +0000 (20:12 -0800)
committerFangrui Song <i@maskray.me>
Thu, 24 Nov 2022 04:12:16 +0000 (20:12 -0800)
This reverts commit 9969ceb36b440eaafa17c486f29a69c7a7da3b3b.

On Windows:

lld-link: error: undefined symbol: int __cdecl computeHostNumPhysicalCores(void)
>>> referenced by LLVMSupport.lib(Support.Host.obj):(int __cdecl llvm::sys::getHostNumPhysicalCores(void))

llvm/lib/Support/Host.cpp
llvm/lib/Support/Threading.cpp
llvm/lib/Support/Unix/Threading.inc
llvm/lib/Support/Windows/Threading.inc

index 8361997..6bb452a 100644 (file)
@@ -1580,7 +1580,7 @@ VendorSignatures getVendorSignature(unsigned *MaxLeaf) {
 // On Linux, the number of physical cores can be computed from /proc/cpuinfo,
 // using the number of unique physical/core id pairs. The following
 // implementation reads the /proc/cpuinfo format on an x86_64 system.
-static int computeHostNumPhysicalCores() {
+int computeHostNumPhysicalCores() {
   // Enabled represents the number of physical id/core id pairs with at least
   // one processor id enabled by the CPU affinity mask.
   cpu_set_t Affinity, Enabled;
@@ -1625,11 +1625,9 @@ static int computeHostNumPhysicalCores() {
   return CPU_COUNT(&Enabled);
 }
 #elif defined(__linux__) && defined(__s390x__)
-static int computeHostNumPhysicalCores() {
-  return sysconf(_SC_NPROCESSORS_ONLN);
-}
+int computeHostNumPhysicalCores() { return sysconf(_SC_NPROCESSORS_ONLN); }
 #elif defined(__linux__) && !defined(__ANDROID__)
-static int computeHostNumPhysicalCores() {
+int computeHostNumPhysicalCores() {
   cpu_set_t Affinity;
   if (sched_getaffinity(0, sizeof(Affinity), &Affinity) == 0)
     return CPU_COUNT(&Affinity);
@@ -1649,7 +1647,7 @@ static int computeHostNumPhysicalCores() {
 }
 #elif defined(__APPLE__)
 // Gets the number of *physical cores* on the machine.
-static int computeHostNumPhysicalCores() {
+int computeHostNumPhysicalCores() {
   uint32_t count;
   size_t len = sizeof(count);
   sysctlbyname("hw.physicalcpu", &count, &len, NULL, 0);
@@ -1664,7 +1662,7 @@ static int computeHostNumPhysicalCores() {
   return count;
 }
 #elif defined(__MVS__)
-static int computeHostNumPhysicalCores() {
+int computeHostNumPhysicalCores() {
   enum {
     // Byte offset of the pointer to the Communications Vector Table (CVT) in
     // the Prefixed Save Area (PSA). The table entry is a 31-bit pointer and
@@ -1687,7 +1685,7 @@ static int computeHostNumPhysicalCores() {
 }
 #elif defined(_WIN32) && LLVM_ENABLE_THREADS != 0
 // Defined in llvm/lib/Support/Windows/Threading.inc
-static int computeHostNumPhysicalCores();
+int computeHostNumPhysicalCores();
 #else
 // On other systems, return -1 to indicate unknown.
 static int computeHostNumPhysicalCores() { return -1; }
index bd954fd..b14ff95 100644 (file)
@@ -47,7 +47,7 @@ unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
 
 #else
 
-static int computeHostNumHardwareThreads();
+int computeHostNumHardwareThreads();
 
 unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
   int MaxThreadCount = UseHyperThreads ? computeHostNumHardwareThreads()
index 6a67401..99f64b4 100644 (file)
@@ -290,7 +290,7 @@ SetThreadPriorityResult llvm::set_thread_priority(ThreadPriority Priority) {
 
 #include <thread>
 
-static int computeHostNumHardwareThreads() {
+int computeHostNumHardwareThreads() {
 #if defined(__FreeBSD__)
   cpuset_t mask;
   CPU_ZERO(&mask);
index 5b86400..11f3481 100644 (file)
@@ -239,7 +239,7 @@ static unsigned aggregate(R &&Range, UnaryPredicate P) {
 }
 
 // for sys::getHostNumPhysicalCores
-static int computeHostNumPhysicalCores() {
+int computeHostNumPhysicalCores() {
   static unsigned Cores =
       aggregate(getProcessorGroups(), [](const ProcessorGroup &G) {
         return G.UsableThreads / G.ThreadsPerCore;
@@ -247,7 +247,7 @@ static int computeHostNumPhysicalCores() {
   return Cores;
 }
 
-static int computeHostNumHardwareThreads() {
+int computeHostNumHardwareThreads() {
   static unsigned Threads =
       aggregate(getProcessorGroups(),
                 [](const ProcessorGroup &G) { return G.UsableThreads; });