FoldingSetImpl - An implementation detail that lets us share code between FoldingSet and ContextualFoldingSet.
More...
#include "llvm/ADT/FoldingSet.h"
|
| FoldingSetImpl (unsigned Log2InitSize) |
|
| FoldingSetImpl (FoldingSetImpl &&Arg)=default |
|
FoldingSetImpl & | operator= (FoldingSetImpl &&RHS)=default |
|
| ~FoldingSetImpl ()=default |
|
| FoldingSetBase (unsigned Log2InitSize=6) |
|
| FoldingSetBase (FoldingSetBase &&Arg) |
|
FoldingSetBase & | operator= (FoldingSetBase &&RHS) |
|
| ~FoldingSetBase () |
|
virtual void | GetNodeProfile (Node *N, FoldingSetNodeID &ID) const =0 |
| GetNodeProfile - Instantiations of the FoldingSet template implement this function to gather data bits for the given node. More...
|
|
virtual bool | NodeEquals (Node *N, const FoldingSetNodeID &ID, unsigned IDHash, FoldingSetNodeID &TempID) const =0 |
| NodeEquals - Instantiations of the FoldingSet template implement this function to compare the given node with the given ID. More...
|
|
virtual unsigned | ComputeNodeHash (Node *N, FoldingSetNodeID &TempID) const =0 |
| ComputeNodeHash - Instantiations of the FoldingSet template implement this function to compute a hash value for the given node. More...
|
|
bool | RemoveNode (Node *N) |
| RemoveNode - Remove a node from the folding set, returning true if one was removed or false if the node was not in the folding set. More...
|
|
Node * | GetOrInsertNode (Node *N) |
| GetOrInsertNode - If there is an existing simple Node exactly equal to the specified node, return it. More...
|
|
Node * | FindNodeOrInsertPos (const FoldingSetNodeID &ID, void *&InsertPos) |
| FindNodeOrInsertPos - Look up the node specified by ID. More...
|
|
void | InsertNode (Node *N, void *InsertPos) |
| InsertNode - Insert the specified node into the folding set, knowing that it is not already in the folding set. More...
|
|
template<class T>
class llvm::FoldingSetImpl< T >
FoldingSetImpl - An implementation detail that lets us share code between FoldingSet and ContextualFoldingSet.
Definition at line 401 of file FoldingSet.h.
◆ bucket_iterator
◆ const_iterator
◆ iterator
◆ FoldingSetImpl() [1/2]
◆ FoldingSetImpl() [2/2]
◆ ~FoldingSetImpl()
◆ begin() [1/2]
◆ begin() [2/2]
◆ bucket_begin()
◆ bucket_end()
◆ end() [1/2]
◆ end() [2/2]
◆ FindNodeOrInsertPos()
FindNodeOrInsertPos - Look up the node specified by ID.
If it exists, return it. If not, return the insertion token that will make insertion faster.
Definition at line 445 of file FoldingSet.h.
Referenced by llvm::FoldingSetVector< T, VectorT >::FindNodeOrInsertPos(), llvm::RecordRecTy::get(), llvm::BitsInit::get(), llvm::ListInit::get(), llvm::UnOpInit::get(), llvm::BinOpInit::get(), llvm::TernOpInit::get(), llvm::IsAOpInit::get(), llvm::VarDefInit::get(), and llvm::DagInit::get().
◆ GetOrInsertNode()
◆ InsertNode() [1/2]
InsertNode - Insert the specified node into the folding set, knowing that it is not already in the folding set.
InsertPos must be obtained from FindNodeOrInsertPos.
Definition at line 452 of file FoldingSet.h.
Referenced by llvm::RecordRecTy::get(), llvm::BitsInit::get(), llvm::ListInit::get(), llvm::UnOpInit::get(), llvm::BinOpInit::get(), llvm::TernOpInit::get(), llvm::IsAOpInit::get(), llvm::VarDefInit::get(), llvm::DagInit::get(), llvm::SelectionDAG::getTargetMemSDNode(), and llvm::FoldingSetVector< T, VectorT >::InsertNode().
◆ InsertNode() [2/2]
InsertNode - Insert the specified node into the folding set, knowing that it is not already in the folding set.
Definition at line 458 of file FoldingSet.h.
◆ operator=()
◆ RemoveNode()
RemoveNode - Remove a node from the folding set, returning true if one was removed or false if the node was not in the folding set.
Definition at line 433 of file FoldingSet.h.
The documentation for this class was generated from the following file: