LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | List of all members
llvm::ilist_sentinel_traits< NodeTy > Struct Template Reference

#include <ilist.h>

Inheritance diagram for llvm::ilist_sentinel_traits< NodeTy >:
Inheritance graph
[legend]

Static Public Member Functions

static NodeTy * createSentinel ()
 createSentinel - create the dynamic sentinel More...
 
static void destroySentinel (NodeTy *N)
 destroySentinel - deallocate the dynamic sentinel More...
 
static NodeTy * provideInitialHead ()
 
static NodeTy * ensureHead (NodeTy *&Head)
 
static void noteHead (NodeTy *NewHead, NodeTy *Sentinel)
 noteHead - stash the sentinel into its default location More...
 

Detailed Description

template<typename NodeTy>
struct llvm::ilist_sentinel_traits< NodeTy >

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.

Definition at line 76 of file ilist.h.

Member Function Documentation

template<typename NodeTy>
static NodeTy* llvm::ilist_sentinel_traits< NodeTy >::createSentinel ( )
inlinestatic

createSentinel - create the dynamic sentinel

Definition at line 78 of file ilist.h.

Referenced by llvm::ilist_traits< BasicBlock >::ensureHead(), llvm::ilist_traits< Function >::ensureHead(), llvm::ilist_traits< MachineInstr >::ensureHead(), llvm::ilist_traits< Instruction >::ensureHead(), llvm::ilist_traits< RecyclerStruct >::ensureHead(), llvm::ilist_traits< MachineBasicBlock >::ensureHead(), llvm::ilist_traits< GlobalVariable >::ensureHead(), llvm::ilist_traits< Argument >::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< GlobalVariable >::provideInitialHead(), llvm::ilist_traits< Argument >::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().

template<typename NodeTy>
static void llvm::ilist_sentinel_traits< NodeTy >::destroySentinel ( NodeTy *  N)
inlinestatic

destroySentinel - deallocate the dynamic sentinel

Definition at line 81 of file ilist.h.

template<typename NodeTy>
static NodeTy* llvm::ilist_sentinel_traits< NodeTy >::ensureHead ( NodeTy *&  Head)
inlinestatic

ensureHead - make sure that Head is either already initialized or assigned a fresh sentinel

Returns
the sentinel

Definition at line 91 of file ilist.h.

template<typename NodeTy>
static void llvm::ilist_sentinel_traits< NodeTy >::noteHead ( NodeTy *  NewHead,
NodeTy *  Sentinel 
)
inlinestatic

noteHead - stash the sentinel into its default location

Definition at line 102 of file ilist.h.

Referenced by llvm::ilist_sentinel_traits< IVStrideUse >::ensureHead().

template<typename NodeTy>
static NodeTy* llvm::ilist_sentinel_traits< NodeTy >::provideInitialHead ( )
inlinestatic

provideInitialHead - when constructing an ilist, provide a starting value for its Head

Returns
null node to indicate that it needs to be allocated later

Definition at line 86 of file ilist.h.


The documentation for this struct was generated from the following file: