LLVM API Documentation

FoldingSet.cpp File Reference

#include "llvm/ADT/FoldingSet.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <cstring>

Include dependency graph for FoldingSet.cpp:

Go to the source code of this file.

Functions

static FoldingSetImpl::NodeGetNextPtr (void *NextInBucketPtr)
 Helper functions for FoldingSetImpl.
static void ** GetBucketPtr (void *NextInBucketPtr)
 testing.
static void ** GetBucketFor (const FoldingSetNodeID &ID, void **Buckets, unsigned NumBuckets)


Function Documentation

static void** GetBucketFor ( const FoldingSetNodeID ID,
void **  Buckets,
unsigned  NumBuckets 
) [static]

GetBucketFor - Hash the specified node ID and return the hash bucket for the specified ID.

Definition at line 203 of file FoldingSet.cpp.

References llvm::FoldingSetNodeID::ComputeHash().

Referenced by llvm::FoldingSetImpl::FindNodeOrInsertPos(), and llvm::FoldingSetImpl::InsertNode().

static void** GetBucketPtr ( void *  NextInBucketPtr  )  [static]

testing.

Definition at line 195 of file FoldingSet.cpp.

Referenced by llvm::FoldingSetIteratorImpl::advance(), and llvm::FoldingSetImpl::RemoveNode().

static FoldingSetImpl::Node* GetNextPtr ( void *  NextInBucketPtr  )  [static]

Helper functions for FoldingSetImpl.

GetNextPtr - In order to save space, each bucket is a singly-linked-list. In order to make deletion more efficient, we make the list circular, so we can delete a node without computing its hash. The problem with this is that the start of the hash buckets are not Nodes. If NextInBucketPtr is a bucket pointer, this method returns null: use GetBucketPtr when this happens.

Definition at line 185 of file FoldingSet.cpp.

Referenced by llvm::FoldingSetIteratorImpl::advance(), llvm::FoldingSetImpl::FindNodeOrInsertPos(), llvm::FoldingSetBucketIteratorImpl::FoldingSetBucketIteratorImpl(), llvm::FoldingSetIteratorImpl::FoldingSetIteratorImpl(), and llvm::FoldingSetImpl::RemoveNode().




This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.