LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
llvm::FoldingSetNodeID Class Reference

#include <FoldingSet.h>

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
 
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 294 of file FoldingSet.h.

Constructor & Destructor Documentation

llvm::FoldingSetNodeID::FoldingSetNodeID ( )
inline

Definition at line 300 of file FoldingSet.h.

llvm::FoldingSetNodeID::FoldingSetNodeID ( FoldingSetNodeIDRef  Ref)
inline

Definition at line 302 of file FoldingSet.h.

Member Function Documentation

template<typename T >
void llvm::FoldingSetNodeID::Add ( const T x)
inline
void llvm::FoldingSetNodeID::AddBoolean ( bool  B)
inline

Definition at line 314 of file FoldingSet.h.

References AddInteger().

Referenced by llvm::ImutProfileInfo< bool >::Profile(), and profileFunction().

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::ImutIntervalInfo< T >::Profile(), llvm::DIEAbbrev::Profile(), llvm::AttributeSetImpl::Profile(), llvm::APSInt::Profile(), llvm::APInt::Profile(), llvm::ImutProfileInteger< T >::Profile(), ProfileBitsInit(), profileFunction(), and ProfileListInit().

void FoldingSetNodeID::AddInteger ( unsigned  I)
void FoldingSetNodeID::AddInteger ( long  I)

Definition at line 66 of file FoldingSet.cpp.

References AddInteger().

void FoldingSetNodeID::AddInteger ( unsigned long  I)

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::AddNodeID ( const FoldingSetNodeID ID)
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::MDNode::Profile(), llvm::Attribute::Profile(), llvm::AttributeSetImpl::Profile(), llvm::ImmutableMap< Interval, ValT, ImutIntervalInfo< ValT > >::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 FoldingSetNodeID::AddString ( StringRef  String)
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 323 of file FoldingSet.h.

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

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

unsigned FoldingSetNodeID::ComputeHash ( ) const
FoldingSetNodeIDRef FoldingSetNodeID::Intern ( BumpPtrAllocator Allocator) const
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: