LLVM  14.0.0git
Classes | Enumerations | Functions | Variables
llvm::parallel::detail Namespace Reference

Classes

class  Latch
 
class  TaskGroup
 

Enumerations

enum  { MaxTasksPerGroup = 1024 }
 

Functions

template<class RandomAccessIterator , class Comparator >
RandomAccessIterator medianOf3 (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp)
 Inclusive median. More...
 
template<class RandomAccessIterator , class Comparator >
void parallel_quick_sort (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp, TaskGroup &TG, size_t Depth)
 
template<class RandomAccessIterator , class Comparator >
void parallel_sort (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp)
 
template<class IterTy , class FuncTy >
void parallel_for_each (IterTy Begin, IterTy End, FuncTy Fn)
 
template<class IndexTy , class FuncTy >
void parallel_for_each_n (IndexTy Begin, IndexTy End, FuncTy Fn)
 
template<class IterTy , class ResultTy , class ReduceFuncTy , class TransformFuncTy >
ResultTy parallel_transform_reduce (IterTy Begin, IterTy End, ResultTy Init, ReduceFuncTy Reduce, TransformFuncTy Transform)
 

Variables

const ptrdiff_t MinParallelSize = 1024
 
static std::atomic< intTaskGroupInstances
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MaxTasksPerGroup 

Definition at line 131 of file Parallel.h.

Function Documentation

◆ medianOf3()

template<class RandomAccessIterator , class Comparator >
RandomAccessIterator llvm::parallel::detail::medianOf3 ( RandomAccessIterator  Start,
RandomAccessIterator  End,
const Comparator &  Comp 
)

Inclusive median.

Definition at line 82 of file Parallel.h.

◆ parallel_for_each()

template<class IterTy , class FuncTy >
void llvm::parallel::detail::parallel_for_each ( IterTy  Begin,
IterTy  End,
FuncTy  Fn 
)

Definition at line 134 of file Parallel.h.

◆ parallel_for_each_n()

template<class IndexTy , class FuncTy >
void llvm::parallel::detail::parallel_for_each_n ( IndexTy  Begin,
IndexTy  End,
FuncTy  Fn 
)

Definition at line 161 of file Parallel.h.

◆ parallel_quick_sort()

template<class RandomAccessIterator , class Comparator >
void llvm::parallel::detail::parallel_quick_sort ( RandomAccessIterator  Start,
RandomAccessIterator  End,
const Comparator &  Comp,
TaskGroup TG,
size_t  Depth 
)

Definition at line 94 of file Parallel.h.

◆ parallel_sort()

template<class RandomAccessIterator , class Comparator >
void llvm::parallel::detail::parallel_sort ( RandomAccessIterator  Start,
RandomAccessIterator  End,
const Comparator &  Comp 
)

Definition at line 120 of file Parallel.h.

◆ parallel_transform_reduce()

template<class IterTy , class ResultTy , class ReduceFuncTy , class TransformFuncTy >
ResultTy llvm::parallel::detail::parallel_transform_reduce ( IterTy  Begin,
IterTy  End,
ResultTy  Init,
ReduceFuncTy  Reduce,
TransformFuncTy  Transform 
)

Definition at line 193 of file Parallel.h.

Variable Documentation

◆ MinParallelSize

const ptrdiff_t llvm::parallel::detail::MinParallelSize = 1024

Definition at line 78 of file Parallel.h.

◆ TaskGroupInstances

std::atomic<int> llvm::parallel::detail::TaskGroupInstances
static

Definition at line 147 of file Parallel.cpp.

Referenced by llvm::parallel::detail::TaskGroup::~TaskGroup().