LLVM API Documentation

Public Types | Public Member Functions
llvm::FoldingSet< T > Class Template Reference

#include <FoldingSet.h>

Inheritance diagram for llvm::FoldingSet< T >:
Inheritance graph
[legend]
Collaboration diagram for llvm::FoldingSet< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef FoldingSetIterator< Titerator
typedef FoldingSetIterator
< const T
const_iterator
typedef
FoldingSetBucketIterator< T
bucket_iterator

Public Member Functions

 FoldingSet (unsigned Log2InitSize=6)
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
bucket_iterator bucket_begin (unsigned hash)
bucket_iterator bucket_end (unsigned hash)
TGetOrInsertNode (Node *N)
TFindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos)

Detailed Description

template<class T>
class llvm::FoldingSet< T >

FoldingSet - This template class is used to instantiate a specialized implementation of the folding set to the node class T. T must be a subclass of FoldingSetNode and implement a Profile function.

Definition at line 395 of file FoldingSet.h.


Member Typedef Documentation

Definition at line 430 of file FoldingSet.h.

template<class T>
typedef FoldingSetIterator<const T> llvm::FoldingSet< T >::const_iterator

Definition at line 426 of file FoldingSet.h.

template<class T>
typedef FoldingSetIterator<T> llvm::FoldingSet< T >::iterator

Definition at line 422 of file FoldingSet.h.


Constructor & Destructor Documentation

template<class T>
llvm::FoldingSet< T >::FoldingSet ( unsigned  Log2InitSize = 6) [inline, explicit]

Definition at line 418 of file FoldingSet.h.


Member Function Documentation

template<class T>
iterator llvm::FoldingSet< T >::begin ( ) [inline]

Definition at line 423 of file FoldingSet.h.

Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().

template<class T>
const_iterator llvm::FoldingSet< T >::begin ( ) const [inline]

Definition at line 427 of file FoldingSet.h.

template<class T>
bucket_iterator llvm::FoldingSet< T >::bucket_begin ( unsigned  hash) [inline]

Definition at line 432 of file FoldingSet.h.

template<class T>
bucket_iterator llvm::FoldingSet< T >::bucket_end ( unsigned  hash) [inline]

Definition at line 436 of file FoldingSet.h.

template<class T>
iterator llvm::FoldingSet< T >::end ( ) [inline]

Definition at line 424 of file FoldingSet.h.

Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().

template<class T>
const_iterator llvm::FoldingSet< T >::end ( ) const [inline]

Definition at line 428 of file FoldingSet.h.

template<class T>
T* llvm::FoldingSet< T >::FindNodeOrInsertPos ( const FoldingSetNodeID ID,
void *&  InsertPos 
) [inline]

FindNodeOrInsertPos - Look up the node specified by ID. If it exists, return it. If not, return the insertion token that will make insertion faster.

Reimplemented from llvm::FoldingSetImpl.

Definition at line 450 of file FoldingSet.h.

Referenced by llvm::ImmutableListFactory< T >::concat(), llvm::FoldingSet< AttributeImpl >::FindNodeOrInsertPos(), llvm::Attribute::get(), llvm::AttributeSetNode::get(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getAddRecExpr(), llvm::SelectionDAG::getAddrSpaceCast(), llvm::SelectionDAG::getAtomic(), llvm::SelectionDAG::getBasicBlock(), llvm::SelectionDAG::getBlockAddress(), llvm::SelectionDAG::getConstant(), llvm::ScalarEvolution::getConstant(), llvm::SelectionDAG::getConstantFP(), llvm::SelectionDAG::getConstantPool(), llvm::SelectionDAG::getConvertRndSat(), llvm::SelectionDAG::getEHLabel(), llvm::SelectionDAG::getFrameIndex(), llvm::SelectionDAG::getGlobalAddress(), llvm::SelectionDAG::getIndexedStore(), llvm::SelectionDAG::getJumpTable(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getMDNode(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::ScalarEvolution::getMulExpr(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getNodeIfExists(), llvm::SelectionDAG::getRegister(), llvm::SelectionDAG::getRegisterMask(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::ScalarEvolution::getSMaxExpr(), llvm::SelectionDAG::getSrcValue(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTargetIndex(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SelectionDAG::getTruncStore(), llvm::ScalarEvolution::getUDivExpr(), llvm::ScalarEvolution::getUMaxExpr(), llvm::ScalarEvolution::getUnknown(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::ScalarEvolution::getZeroExtendExpr(), and llvm::SelectionDAG::MorphNodeTo().

template<class T>
T* llvm::FoldingSet< T >::GetOrInsertNode ( Node N) [inline]

GetOrInsertNode - If there is an existing simple Node exactly equal to the specified node, return it. Otherwise, insert 'N' and return it instead.

Reimplemented from llvm::FoldingSetImpl.

Definition at line 443 of file FoldingSet.h.

Referenced by llvm::DwarfFile::assignAbbrevNumber(), and llvm::FoldingSet< AttributeImpl >::GetOrInsertNode().


The documentation for this class was generated from the following file: