LLVM  6.0.0svn
Classes | Namespaces | Typedefs | Enumerations | Functions
IntervalMap.h File Reference
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/AlignOf.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/RecyclingAllocator.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <new>
#include <utility>
Include dependency graph for IntervalMap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::IntervalMapInfo< T >
 
struct  llvm::IntervalMapHalfOpenInfo< T >
 
class  llvm::IntervalMapImpl::NodeBase< T1, T2, N >
 
struct  llvm::IntervalMapImpl::NodeSizer< KeyT, ValT >
 
class  llvm::IntervalMapImpl::NodeRef
 
class  llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >
 
class  llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >
 
class  llvm::IntervalMapImpl::Path
 
class  llvm::IntervalMap< KeyT, ValT, N, Traits >
 
class  llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator
 
class  llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator
 
class  llvm::IntervalMapOverlaps< MapA, MapB >
 IntervalMapOverlaps - Iterate over the overlaps of mapped intervals in two IntervalMaps. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::IntervalMapImpl
 IntervalMapImpl - Namespace used for IntervalMap implementation details.
 

Typedefs

using llvm::IntervalMapImpl::IdxPair = std::pair< unsigned, unsigned >
 

Enumerations

enum  { llvm::IntervalMapImpl::Log2CacheLine = 6, llvm::IntervalMapImpl::CacheLineBytes = 1 << Log2CacheLine, llvm::IntervalMapImpl::DesiredNodeBytes = 3 * CacheLineBytes }
 

Functions

template<typename NodeT >
void llvm::IntervalMapImpl::adjustSiblingSizes (NodeT *Node[], unsigned Nodes, unsigned CurSize[], const unsigned NewSize[])
 IntervalMapImpl::adjustSiblingSizes - Move elements between sibling nodes. More...
 
IdxPair llvm::IntervalMapImpl::distribute (unsigned Nodes, unsigned Elements, unsigned Capacity, const unsigned *CurSize, unsigned NewSize[], unsigned Position, bool Grow)
 IntervalMapImpl::distribute - Compute a new distribution of node elements after an overflow or underflow. More...