LLVM 19.0.0git
Classes | Namespaces | Functions | Variables
Parallel.h File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/llvm-config.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())
 
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

ThreadPoolStrategy llvm::parallel::strategy