LLVM API Documentation

Classes | Namespaces | Typedefs | Enumerations | Functions
IntervalMap.h File Reference
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/RecyclingAllocator.h"
#include <iterator>
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
struct  llvm::IntervalMapImpl::NodeRef::CacheAlignedPointerTraits
class  llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >
class  llvm::IntervalMapImpl::BranchNode< KeyT, ValT, N, Traits >
class  llvm::IntervalMapImpl::Path
struct  llvm::IntervalMapImpl::Path::Entry
class  llvm::IntervalMap< KeyT, ValT, N, Traits >
struct  llvm::IntervalMap< KeyT, ValT, N, Traits >::RootBranchData
class  llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator
class  llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator
class  llvm::IntervalMapOverlaps< MapA, MapB >

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


namespace  llvm::IntervalMapImpl

Typedefs

typedef std::pair< unsigned,
unsigned
llvm::IntervalMapImpl::IdxPair

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[])
IdxPair llvm::IntervalMapImpl::distribute (unsigned Nodes, unsigned Elements, unsigned Capacity, const unsigned *CurSize, unsigned NewSize[], unsigned Position, bool Grow)