LLVM API Documentation
#include <FoldingSet.h>
Public Types | |
typedef FoldingSetIterator< T > | iterator |
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) |
T * | GetOrInsertNode (Node *N) |
T * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
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.
typedef FoldingSetBucketIterator<T> llvm::FoldingSet< T >::bucket_iterator |
Definition at line 430 of file FoldingSet.h.
typedef FoldingSetIterator<const T> llvm::FoldingSet< T >::const_iterator |
Definition at line 426 of file FoldingSet.h.
typedef FoldingSetIterator<T> llvm::FoldingSet< T >::iterator |
Definition at line 422 of file FoldingSet.h.
llvm::FoldingSet< T >::FoldingSet | ( | unsigned | Log2InitSize = 6 | ) | [inline, explicit] |
Definition at line 418 of file FoldingSet.h.
iterator llvm::FoldingSet< T >::begin | ( | ) | [inline] |
Definition at line 423 of file FoldingSet.h.
Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().
const_iterator llvm::FoldingSet< T >::begin | ( | ) | const [inline] |
Definition at line 427 of file FoldingSet.h.
bucket_iterator llvm::FoldingSet< T >::bucket_begin | ( | unsigned | hash | ) | [inline] |
Definition at line 432 of file FoldingSet.h.
bucket_iterator llvm::FoldingSet< T >::bucket_end | ( | unsigned | hash | ) | [inline] |
Definition at line 436 of file FoldingSet.h.
iterator llvm::FoldingSet< T >::end | ( | ) | [inline] |
Definition at line 424 of file FoldingSet.h.
Referenced by llvm::LLVMContextImpl::~LLVMContextImpl().
const_iterator llvm::FoldingSet< T >::end | ( | ) | const [inline] |
Definition at line 428 of file FoldingSet.h.
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().
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().