LLVM API Documentation

Public Member Functions
llvm::FoldingSetNodeID Class Reference

#include <FoldingSet.h>

List of all members.

Public Member Functions

 FoldingSetNodeID ()
 FoldingSetNodeID (FoldingSetNodeIDRef Ref)
void AddPointer (const void *Ptr)
void AddInteger (signed I)
void AddInteger (unsigned I)
void AddInteger (long I)
void AddInteger (unsigned long I)
void AddInteger (long long I)
void AddInteger (unsigned long long I)
void AddBoolean (bool B)
void AddString (StringRef String)
void AddNodeID (const FoldingSetNodeID &ID)
template<typename T >
void Add (const T &x)
void clear ()
unsigned ComputeHash () const
bool operator== (const FoldingSetNodeID &RHS) const
bool operator== (const FoldingSetNodeIDRef RHS) const
bool operator!= (const FoldingSetNodeID &RHS) const
bool operator!= (const FoldingSetNodeIDRef RHS) const
bool operator< (const FoldingSetNodeID &RHS) const
bool operator< (const FoldingSetNodeIDRef RHS) const
FoldingSetNodeIDRef Intern (BumpPtrAllocator &Allocator) const

Detailed Description

FoldingSetNodeID - This class is used to gather all the unique data bits of a node. When all the bits are gathered this class is used to produce a hash value for the node.

Definition at line 296 of file FoldingSet.h.


Constructor & Destructor Documentation

Definition at line 302 of file FoldingSet.h.

Definition at line 304 of file FoldingSet.h.


Member Function Documentation

template<typename T >
void llvm::FoldingSetNodeID::Add ( const T x) [inline]
void FoldingSetNodeID::AddInteger ( signed  I)

Definition at line 60 of file FoldingSet.cpp.

References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by AddBoolean(), AddInteger(), AddNodeIDCustom(), AddNodeIDOpcode(), AddNodeIDOperands(), llvm::SystemZConstantPoolValue::addSelectionDAGCSEId(), llvm::ARMConstantPoolValue::addSelectionDAGCSEId(), llvm::Attribute::get(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getAddRecExpr(), llvm::SelectionDAG::getAddrSpaceCast(), llvm::SelectionDAG::getAtomic(), llvm::SelectionDAG::getBlockAddress(), llvm::ScalarEvolution::getConstant(), llvm::SelectionDAG::getConstantPool(), llvm::SelectionDAG::getFrameIndex(), llvm::SelectionDAG::getGlobalAddress(), llvm::SelectionDAG::getIndexedStore(), llvm::SelectionDAG::getJumpTable(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::ScalarEvolution::getMulExpr(), llvm::SelectionDAG::getRegister(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTargetIndex(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SelectionDAG::getTruncStore(), llvm::ScalarEvolution::getUDivExpr(), llvm::ScalarEvolution::getUnknown(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::ScalarEvolution::getZeroExtendExpr(), llvm::DIEAbbrevData::Profile(), llvm::AttributeImpl::Profile(), llvm::DIEAbbrev::Profile(), llvm::AttributeSetImpl::Profile(), llvm::APSInt::Profile(), llvm::APInt::Profile(), llvm::ImutProfileInteger< T >::Profile(), ProfileBitsInit(), and ProfileListInit().

void FoldingSetNodeID::AddInteger ( long  I)

Definition at line 66 of file FoldingSet.cpp.

References AddInteger().

Definition at line 69 of file FoldingSet.cpp.

References AddInteger(), and llvm_unreachable.

void FoldingSetNodeID::AddInteger ( long long  I)

Definition at line 78 of file FoldingSet.cpp.

References AddInteger().

void FoldingSetNodeID::AddInteger ( unsigned long long  I)
void FoldingSetNodeID::AddPointer ( const void *  Ptr)

Add* - Add various data types to Bit data.

Definition at line 52 of file FoldingSet.cpp.

References llvm::SmallVectorImpl< T >::append().

Referenced by AddNodeIDCustom(), AddNodeIDOperands(), AddNodeIDValueTypes(), llvm::SystemZConstantPoolValue::addSelectionDAGCSEId(), llvm::ARMConstantPoolConstant::addSelectionDAGCSEId(), llvm::ARMConstantPoolMBB::addSelectionDAGCSEId(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getAddRecExpr(), llvm::SelectionDAG::getBasicBlock(), llvm::SelectionDAG::getBlockAddress(), llvm::SelectionDAG::getConstant(), llvm::ScalarEvolution::getConstant(), llvm::SelectionDAG::getConstantFP(), llvm::SelectionDAG::getConstantPool(), llvm::SelectionDAG::getEHLabel(), llvm::SelectionDAG::getGlobalAddress(), llvm::SelectionDAG::getMDNode(), llvm::ScalarEvolution::getMulExpr(), llvm::SelectionDAG::getRegisterMask(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::SelectionDAG::getSrcValue(), llvm::ScalarEvolution::getTruncateExpr(), llvm::ScalarEvolution::getUDivExpr(), llvm::ScalarEvolution::getUnknown(), llvm::ScalarEvolution::getZeroExtendExpr(), llvm::ImmutableListImpl< T >::Profile(), llvm::ImmutableList< T >::Profile(), llvm::Attribute::Profile(), llvm::MDNode::Profile(), llvm::AttributeSetImpl::Profile(), llvm::ImmutableMap< KeyT, ValT, ValInfo >::Profile(), llvm::ImmutableMapRef< KeyT, ValT, ValInfo >::Profile(), llvm::FoldingSetTrait< T * >::Profile(), llvm::ImutProfileInfo< T * >::Profile(), llvm::ImmutableSet< ValT, ValInfo >::Profile(), llvm::ImmutableSetRef< ValT, ValInfo >::Profile(), ProfileBitsInit(), ProfileDagInit(), and ProfileListInit().

void llvm::FoldingSetNodeID::clear ( ) [inline]

clear - Clear the accumulated profile, allowing this FoldingSetNodeID object to be used to compute a new profile.

Definition at line 325 of file FoldingSet.h.

References llvm::SmallVectorImpl< T >::clear().

Referenced by llvm::FoldingSetImpl::FindNodeOrInsertPos().

bool llvm::FoldingSetNodeID::operator!= ( const FoldingSetNodeID RHS) const [inline]

Definition at line 336 of file FoldingSet.h.

bool llvm::FoldingSetNodeID::operator!= ( const FoldingSetNodeIDRef  RHS) const [inline]

Definition at line 337 of file FoldingSet.h.

bool FoldingSetNodeID::operator< ( const FoldingSetNodeID RHS) const

Used to compare the "ordering" of two nodes as defined by the profiled bits and their ordering defined by memcmp().

Definition at line 163 of file FoldingSet.cpp.

References llvm::SmallVectorTemplateCommon< T, typename >::data(), and llvm::SmallVectorTemplateCommon< T, typename >::size().

bool FoldingSetNodeID::operator< ( const FoldingSetNodeIDRef  RHS) const
bool FoldingSetNodeID::operator== ( const FoldingSetNodeID RHS) const

operator== - Used to compare two nodes to each other.

Definition at line 151 of file FoldingSet.cpp.

References llvm::SmallVectorTemplateCommon< T, typename >::data(), and llvm::SmallVectorTemplateCommon< T, typename >::size().

bool FoldingSetNodeID::operator== ( const FoldingSetNodeIDRef  RHS) const

operator== - Used to compare two nodes to each other.

Definition at line 157 of file FoldingSet.cpp.

References llvm::SmallVectorTemplateCommon< T, typename >::data(), and llvm::SmallVectorTemplateCommon< T, typename >::size().


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