LLVM 17.0.0git
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Compiler.h"
#include <ciso646>
#include <optional>
#include "llvm/Support/Atomic.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

struct  llvm::once_flag
The llvm::once_flag structure. More...

This tells how a thread pool will be used. More...

## Namespaces

namespace  llvm
This is an optimization pass for GlobalISel generic memory operations.

## Enumerations

enum  llvm::InitStatus { llvm::Uninitialized = 0 , llvm::Wait = 1 , llvm::Done = 2 }

enum class  llvm::ThreadPriority { llvm::Background = 0 , llvm::Low = 1 , llvm::Default = 2 }

enum class  llvm::SetThreadPriorityResult { llvm::FAILURE , llvm::SUCCESS }

## Functions

Returns true if LLVM is compiled with support for multi-threading, and false otherwise.

template<typename Function , typename... Args>
void llvm::call_once (once_flag &flag, Function &&F, Args &&... ArgList)
Execute the function specified as a parameter once.

Build a strategy from a number of threads as a string provided in Num.

Returns a thread strategy for tasks requiring significant memory or other resources.

Like heavyweight_hardware_concurrency() above, but builds a strategy based on the rules described for get_threadpool_strategy().

Returns a default thread strategy where all available hardware resources are to be used, except for those initially excluded by an affinity mask.

Return the current thread id, as used in various OS system calls.

Get the maximum length of a thread name on this platform.

Set the name of the current thread.

void llvm::get_thread_name (SmallVectorImpl< char > &Name)
Get the name of the current thread.

Returns a mask that represents on which hardware thread, core, CPU, NUMA group, the calling thread can be executed.

unsigned llvm::get_cpus ()
Returns how many physical CPUs or NUMA groups the system has.

int llvm::get_physical_cores ()
Returns how many physical cores (as opposed to logical cores returned from thread::hardware_concurrency(), which includes hyperthreads).