LLVM  6.0.0svn
Classes | Namespaces | Typedefs | Functions | Variables
Parallel.h File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>
#include <condition_variable>
#include <functional>
#include <mutex>
Include dependency graph for Parallel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::parallel::sequential_execution_policy
 
struct  llvm::parallel::parallel_execution_policy
 
struct  llvm::parallel::is_execution_policy< T >
 
class  llvm::parallel::detail::Latch
 
class  llvm::parallel::detail::TaskGroup
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::parallel
 
 llvm::parallel::detail
 

Typedefs

template<typename Iter >
using llvm::parallel::detail::DefComparator = std::less< typename std::iterator_traits< Iter >::value_type >
 

Functions

template<class RandomAccessIterator , class Comparator >
RandomAccessIterator llvm::parallel::detail::medianOf3 (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp)
 Inclusive median. More...
 
template<class RandomAccessIterator , class Comparator >
void llvm::parallel::detail::parallel_quick_sort (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp, TaskGroup &TG, size_t Depth)
 
template<class RandomAccessIterator , class Comparator >
void llvm::parallel::detail::parallel_sort (RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp)
 
template<class IterTy , class FuncTy >
void llvm::parallel::detail::parallel_for_each (IterTy Begin, IterTy End, FuncTy Fn)
 
template<class IndexTy , class FuncTy >
void llvm::parallel::detail::parallel_for_each_n (IndexTy Begin, IndexTy End, FuncTy Fn)
 
template<class Policy , class RandomAccessIterator , class Comparator = detail::DefComparator<RandomAccessIterator>>
void llvm::parallel::sort (Policy policy, RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp=Comparator())
 
template<class Policy , class IterTy , class FuncTy >
void llvm::parallel::for_each (Policy policy, IterTy Begin, IterTy End, FuncTy Fn)
 
template<class Policy , class IndexTy , class FuncTy >
void llvm::parallel::for_each_n (Policy policy, IndexTy Begin, IndexTy End, FuncTy Fn)
 
template<class RandomAccessIterator , class Comparator = detail::DefComparator<RandomAccessIterator>>
void llvm::parallel::sort (parallel_execution_policy policy, RandomAccessIterator Start, RandomAccessIterator End, const Comparator &Comp=Comparator())
 
template<class IterTy , class FuncTy >
void llvm::parallel::for_each (parallel_execution_policy policy, IterTy Begin, IterTy End, FuncTy Fn)
 
template<class IndexTy , class FuncTy >
void llvm::parallel::for_each_n (parallel_execution_policy policy, IndexTy Begin, IndexTy End, FuncTy Fn)
 

Variables

constexpr sequential_execution_policy llvm::parallel::seq {}
 
constexpr parallel_execution_policy llvm::parallel::par {}
 
const ptrdiff_t llvm::parallel::detail::MinParallelSize = 1024