LLVM API Documentation
#include <ilist.h>
Static Public Member Functions | |
static NodeTy * | createSentinel () |
createSentinel - create the dynamic sentinel | |
static void | destroySentinel (NodeTy *N) |
destroySentinel - deallocate the dynamic sentinel | |
static NodeTy * | provideInitialHead () |
static NodeTy * | ensureHead (NodeTy *&Head) |
static void | noteHead (NodeTy *NewHead, NodeTy *Sentinel) |
noteHead - stash the sentinel into its default location |
ilist_sentinel_traits - A fragment for template traits for intrusive list that provides default sentinel implementations for common operations.
ilist_sentinel_traits implements a lazy dynamic sentinel allocation strategy. The sentinel is stored in the prev field of ilist's Head.
static NodeTy* llvm::ilist_sentinel_traits< NodeTy >::createSentinel | ( | ) | [inline, static] |
createSentinel - create the dynamic sentinel
Definition at line 78 of file ilist.h.
Referenced by llvm::ilist_traits< BasicBlock >::ensureHead(), llvm::ilist_traits< MachineInstr >::ensureHead(), llvm::ilist_traits< Function >::ensureHead(), llvm::ilist_traits< Instruction >::ensureHead(), llvm::ilist_traits< RecyclerStruct >::ensureHead(), llvm::ilist_traits< MachineBasicBlock >::ensureHead(), llvm::ilist_traits< Argument >::ensureHead(), llvm::ilist_traits< GlobalVariable >::ensureHead(), llvm::ilist_traits< GlobalAlias >::ensureHead(), llvm::ilist_traits< IndexListEntry >::ensureHead(), llvm::ilist_traits< SDNode >::ensureHead(), llvm::ilist_sentinel_traits< IVStrideUse >::ensureHead(), llvm::ilist_traits< NamedMDNode >::ensureHead(), llvm::ilist_traits< IVStrideUse >::ensureHead(), llvm::ilist_traits< SparseBitVectorElement< ElementSize > >::ensureHead(), llvm::ilist_traits< BasicBlock >::provideInitialHead(), llvm::ilist_traits< Function >::provideInitialHead(), llvm::ilist_traits< MachineInstr >::provideInitialHead(), llvm::ilist_traits< Instruction >::provideInitialHead(), llvm::ilist_traits< RecyclerStruct >::provideInitialHead(), llvm::ilist_traits< MachineBasicBlock >::provideInitialHead(), llvm::ilist_traits< Argument >::provideInitialHead(), llvm::ilist_traits< GlobalVariable >::provideInitialHead(), llvm::ilist_traits< GlobalAlias >::provideInitialHead(), llvm::ilist_traits< IndexListEntry >::provideInitialHead(), llvm::ilist_traits< SDNode >::provideInitialHead(), llvm::ilist_traits< NamedMDNode >::provideInitialHead(), llvm::ilist_traits< IVStrideUse >::provideInitialHead(), and llvm::ilist_traits< SparseBitVectorElement< ElementSize > >::provideInitialHead().
static void llvm::ilist_sentinel_traits< NodeTy >::destroySentinel | ( | NodeTy * | N | ) | [inline, static] |
destroySentinel - deallocate the dynamic sentinel
Reimplemented in llvm::ilist_traits< IVStrideUse >, llvm::ilist_traits< NamedMDNode >, llvm::ilist_traits< SDNode >, llvm::ilist_traits< GlobalAlias >, llvm::ilist_traits< GlobalVariable >, llvm::ilist_traits< Argument >, llvm::ilist_traits< RecyclerStruct >, llvm::ilist_traits< Instruction >, llvm::ilist_traits< Function >, and llvm::ilist_traits< BasicBlock >.
static NodeTy* llvm::ilist_sentinel_traits< NodeTy >::ensureHead | ( | NodeTy *& | Head | ) | [inline, static] |
static void llvm::ilist_sentinel_traits< NodeTy >::noteHead | ( | NodeTy * | NewHead, |
NodeTy * | Sentinel | ||
) | [inline, static] |
noteHead - stash the sentinel into its default location
Reimplemented in llvm::ilist_traits< IVStrideUse >, llvm::ilist_traits< NamedMDNode >, llvm::ilist_traits< SDNode >, llvm::ilist_traits< IndexListEntry >, llvm::ilist_traits< GlobalAlias >, llvm::ilist_traits< GlobalVariable >, llvm::ilist_traits< Argument >, llvm::ilist_traits< MachineBasicBlock >, llvm::ilist_traits< RecyclerStruct >, llvm::ilist_traits< Instruction >, llvm::ilist_traits< MachineInstr >, llvm::ilist_traits< Function >, and llvm::ilist_traits< BasicBlock >.
Definition at line 102 of file ilist.h.
Referenced by llvm::ilist_sentinel_traits< IVStrideUse >::ensureHead().
static NodeTy* llvm::ilist_sentinel_traits< NodeTy >::provideInitialHead | ( | ) | [inline, static] |