LLVM 22.0.0git
Parallel.h File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Threading.h"
#include <algorithm>
#include <condition_variable>
#include <functional>
#include <mutex>

Go to the source code of this file.

Classes

class  llvm::parallel::detail::Latch
class  llvm::parallel::TaskGroup

Namespaces

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

Functions

unsigned llvm::parallel::getThreadIndex ()
size_t llvm::parallel::getThreadCount ()
template<class RandomAccessIterator, class Comparator = std::less< typename std::iterator_traits<RandomAccessIterator>::value_type>>
void llvm::parallelSort (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp=Comparator())
LLVM_ABI void llvm::parallelFor (size_t Begin, size_t End, function_ref< void(size_t)> Fn)
template<class IterTy, class FuncTy>
void llvm::parallelForEach (IterTy Begin, IterTy End, FuncTy Fn)
template<class IterTy, class ResultTy, class ReduceFuncTy, class TransformFuncTy>
ResultTy llvm::parallelTransformReduce (IterTy Begin, IterTy End, ResultTy Init, ReduceFuncTy Reduce, TransformFuncTy Transform)
template<class RangeTy, class Comparator = std::less<decltype(*std::begin(RangeTy()))>>
void llvm::parallelSort (RangeTy &&R, const Comparator &Comp=Comparator())
template<class RangeTy, class FuncTy>
void llvm::parallelForEach (RangeTy &&R, FuncTy Fn)
template<class RangeTy, class ResultTy, class ReduceFuncTy, class TransformFuncTy>
ResultTy llvm::parallelTransformReduce (RangeTy &&R, ResultTy Init, ReduceFuncTy Reduce, TransformFuncTy Transform)
template<class RangeTy, class FuncTy>
Error llvm::parallelForEachError (RangeTy &&R, FuncTy Fn)

Variables

LLVM_ABI ThreadPoolStrategy llvm::parallel::strategy