LLVM API Documentation
#include <ilist.h>
Public Types | |
typedef NodeTy * | pointer |
typedef const NodeTy * | const_pointer |
typedef NodeTy & | reference |
typedef const NodeTy & | const_reference |
typedef NodeTy | value_type |
typedef ilist_iterator< NodeTy > | iterator |
typedef ilist_iterator< const NodeTy > | const_iterator |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
Public Member Functions | |
iplist () | |
~iplist () | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
size_type | max_size () const |
bool LLVM_ATTRIBUTE_UNUSED_RESULT | empty () const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
void | swap (iplist &RHS) |
iterator | insert (iterator where, NodeTy *New) |
iterator | insertAfter (iterator where, NodeTy *New) |
NodeTy * | remove (iterator &IT) |
NodeTy * | remove (const iterator &IT) |
iterator | erase (iterator where) |
void | clearAndLeakNodesUnsafely () |
size_type LLVM_ATTRIBUTE_UNUSED_RESULT | size () const |
iterator | erase (iterator first, iterator last) |
void | clear () |
void | push_front (NodeTy *val) |
void | push_back (NodeTy *val) |
void | pop_front () |
void | pop_back () |
template<class InIt > | |
void | insert (iterator where, InIt first, InIt last) |
void | splice (iterator where, iplist &L2) |
void | splice (iterator where, iplist &L2, iterator first) |
void | splice (iterator where, iplist &L2, iterator first, iterator last) |
void | erase (const NodeTy &val) |
template<class Pr1 > | |
void | erase_if (Pr1 pred) |
template<class Pr2 > | |
void | unique (Pr2 pred) |
void | unique () |
template<class Pr3 > | |
void | merge (iplist &right, Pr3 pred) |
void | merge (iplist &right) |
template<class Pr3 > | |
void | sort (Pr3 pred) |
void | sort () |
iplist - The subset of list functionality that can safely be used on nodes of polymorphic types, i.e. a heterogeneous list with a common base class that holds the next/prev pointers. The only state of the list itself is a single pointer to the head of the list.
This list can be in one of three interesting states:
typedef ilist_iterator<const NodeTy> llvm::iplist< NodeTy, Traits >::const_iterator |
typedef const NodeTy* llvm::iplist< NodeTy, Traits >::const_pointer |
typedef const NodeTy& llvm::iplist< NodeTy, Traits >::const_reference |
typedef std::reverse_iterator<const_iterator> llvm::iplist< NodeTy, Traits >::const_reverse_iterator |
typedef ptrdiff_t llvm::iplist< NodeTy, Traits >::difference_type |
typedef ilist_iterator<NodeTy> llvm::iplist< NodeTy, Traits >::iterator |
typedef NodeTy* llvm::iplist< NodeTy, Traits >::pointer |
typedef NodeTy& llvm::iplist< NodeTy, Traits >::reference |
typedef std::reverse_iterator<iterator> llvm::iplist< NodeTy, Traits >::reverse_iterator |
typedef size_t llvm::iplist< NodeTy, Traits >::size_type |
typedef NodeTy llvm::iplist< NodeTy, Traits >::value_type |
|
inline |
|
inline |
|
inline |
Definition at line 398 of file ilist.h.
Referenced by llvm::BasicBlock::back(), llvm::MachineBasicBlock::back(), llvm::MachineFunction::back(), llvm::Function::back(), llvm::SlotIndexes::getLastIndex(), llvm::MCAsmLayout::getSectionAddressSize(), llvm::BasicBlock::getTerminator(), insertFastDiv(), llvm::SlotIndexes::insertMBBInMaps(), and llvm::SlotIndexes::runOnMachineFunction().
|
inline |
|
inline |
Definition at line 359 of file ilist.h.
Referenced by llvm::Module::alias_begin(), llvm::Function::arg_begin(), llvm::BasicBlock::begin(), llvm::MachineFunction::begin(), llvm::Function::begin(), llvm::Module::begin(), llvm::MCSectionData::begin(), llvm::iplist< Argument >::clear(), llvm::SparseBitVector< ElementSize >::count(), llvm::NVPTXAsmPrinter::doFinalization(), llvm::Function::dropAllReferences(), llvm::SlotIndexes::dump(), llvm::iplist< Argument >::erase(), llvm::iplist< Argument >::erase_if(), llvm::SparseBitVector< ElementSize >::find_first(), llvm::Module::global_begin(), llvm::ilist< SparseBitVectorElement< ElementSize > >::ilist(), llvm::iplist< Argument >::insertAfter(), llvm::MachineBasicBlock::instr_begin(), llvm::SparseBitVector< ElementSize >::intersects(), llvm::SparseBitVector< ElementSize >::intersectWithComplement(), LdStHasDebugValue(), llvm::iplist< Argument >::merge(), llvm::Module::named_metadata_begin(), llvm::SparseBitVector< ElementSize >::operator&=(), llvm::SparseBitVector< ElementSize >::operator=(), llvm::SparseBitVector< ElementSize >::operator==(), llvm::SparseBitVector< ElementSize >::operator|=(), llvm::iplist< Argument >::pop_front(), llvm::iplist< Argument >::push_front(), llvm::iplist< Argument >::rend(), llvm::SlotIndexes::renumberIndexes(), llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::setSymTabObject(), llvm::iplist< Argument >::size(), llvm::SparseBitVector< ElementSize >::SparseBitVector(), and llvm::iplist< Argument >::unique().
|
inline |
|
inline |
Definition at line 550 of file ilist.h.
Referenced by llvm::SparseBitVector< ElementSize >::clear(), llvm::MachineBasicBlock::clear(), llvm::SparseBitVector< ElementSize >::intersectWithComplement(), llvm::SparseBitVector< ElementSize >::operator=(), llvm::yaml::Scanner::peekNext(), llvm::SlotIndexes::releaseMemory(), llvm::BasicBlock::~BasicBlock(), llvm::Function::~Function(), llvm::iplist< Argument >::~iplist(), and llvm::Module::~Module().
|
inline |
|
inline |
Definition at line 385 of file ilist.h.
Referenced by llvm::Module::alias_empty(), llvm::iplist< Argument >::back(), llvm::NVPTXAsmPrinter::doFinalization(), llvm::Function::dropAllReferences(), llvm::BasicBlock::empty(), llvm::MachineBasicBlock::empty(), llvm::MachineFunction::empty(), llvm::Function::empty(), llvm::Module::empty(), llvm::MCSectionData::empty(), llvm::SparseBitVector< ElementSize >::empty(), llvm::SparseBitVector< ElementSize >::find_first(), llvm::iplist< Argument >::front(), llvm::yaml::Scanner::getNext(), llvm::BasicBlock::getTerminator(), llvm::Module::global_empty(), llvm::iplist< Argument >::insertAfter(), llvm::SparseBitVector< ElementSize >::intersects(), llvm::SparseBitVector< ElementSize >::intersectWithComplement(), llvm::Module::named_metadata_empty(), llvm::SparseBitVector< ElementSize >::operator&=(), llvm::SparseBitVector< ElementSize >::operator|=(), llvm::yaml::Scanner::peekNext(), llvm::iplist< Argument >::pop_back(), llvm::iplist< Argument >::pop_front(), llvm::BasicBlock::removePredecessor(), llvm::SparseBitVector< ElementSize >::reset(), llvm::SlotIndexes::runOnMachineFunction(), llvm::SparseBitVector< ElementSize >::set(), llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::setSymTabObject(), llvm::SparseBitVector< ElementSize >::test(), and llvm::iplist< Argument >::unique().
|
inline |
Definition at line 367 of file ilist.h.
Referenced by llvm::Module::alias_end(), llvm::Function::arg_end(), llvm::iplist< Argument >::clear(), llvm::SparseBitVector< ElementSize >::count(), llvm::NVPTXAsmPrinter::doFinalization(), llvm::SlotIndexes::dump(), llvm::BasicBlock::end(), llvm::MachineFunction::end(), llvm::Function::end(), llvm::Module::end(), llvm::MCSectionData::end(), llvm::iplist< Argument >::erase(), llvm::iplist< Argument >::erase_if(), llvm::SlotIndexes::getNextNonNullIndex(), llvm::Module::global_end(), llvm::ilist< SparseBitVectorElement< ElementSize > >::ilist(), llvm::MachineBasicBlock::instr_end(), llvm::SparseBitVector< ElementSize >::intersects(), llvm::SparseBitVector< ElementSize >::intersectWithComplement(), llvm::iplist< Argument >::merge(), llvm::Module::named_metadata_end(), llvm::SparseBitVector< ElementSize >::operator&=(), llvm::SparseBitVector< ElementSize >::operator=(), llvm::SparseBitVector< ElementSize >::operator==(), llvm::SparseBitVector< ElementSize >::operator|=(), llvm::iplist< Argument >::pop_back(), llvm::iplist< Argument >::push_back(), llvm::iplist< Argument >::rbegin(), llvm::iplist< Argument >::remove(), llvm::SlotIndexes::renumberIndexes(), llvm::SparseBitVector< ElementSize >::reset(), llvm::SparseBitVector< ElementSize >::set(), llvm::SymbolTableListTraits< ValueSubClass, ItemParentClass >::setSymTabObject(), llvm::iplist< Argument >::size(), llvm::SparseBitVector< ElementSize >::SparseBitVector(), llvm::BasicBlock::splitBasicBlock(), llvm::SparseBitVector< ElementSize >::test(), and llvm::iplist< Argument >::unique().
|
inline |
|
inline |
Definition at line 465 of file ilist.h.
Referenced by changeToUnreachable(), llvm::iplist< Argument >::clear(), CloneLoopBlocks(), DeleteInstructionInBlock(), llvm::MachineFunction::erase(), llvm::MachineBasicBlock::erase(), llvm::iplist< Argument >::erase(), llvm::iplist< Argument >::erase_if(), llvm::GlobalAlias::eraseFromParent(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::GlobalVariable::eraseFromParent(), llvm::Function::eraseFromParent(), llvm::SlotIndexes::eraseIndex(), llvm::Module::eraseNamedMetadata(), llvm::InlineFunction(), llvm::SparseBitVector< ElementSize >::intersectWithComplement(), llvm::SparseBitVector< ElementSize >::operator&=(), llvm::iplist< Argument >::pop_back(), llvm::iplist< Argument >::pop_front(), llvm::removeUnreachableBlocks(), llvm::ReplaceInstWithValue(), llvm::SparseBitVector< ElementSize >::reset(), SRAGlobal(), llvm::iplist< Argument >::unique(), llvm::UnrollLoop(), and llvm::MachineFunction::~MachineFunction().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 390 of file ilist.h.
Referenced by llvm::BasicBlock::front(), llvm::MachineBasicBlock::front(), llvm::MachineFunction::front(), llvm::Function::front(), llvm::SlotIndexes::getZeroIndex(), and llvm::yaml::Scanner::peekNext().
|
inline |
|
inline |
Definition at line 412 of file ilist.h.
Referenced by createCallHelper(), llvm::NVPTXAsmPrinter::doFinalization(), llvm::InstCombiner::DoOneIteration(), llvm::FoldBranchToCommonDest(), FoldCondBranchOnPHI(), llvm::FoldReturnIntoUncondBranch(), llvm::MCSectionData::getSubsectionInsertionPoint(), llvm::GlobalVariable::GlobalVariable(), HoistThenElseCodeToIf(), llvm::MCObjectStreamer::insert(), llvm::iplist< Argument >::insert(), llvm::iplist< Argument >::insertAfter(), llvm::Instruction::insertBefore(), llvm::IRBuilderDefaultInserter< true >::InsertHelper(), llvm::InstCombiner::InsertNewInstBefore(), InstallGlobalCtors(), llvm::Instruction::Instruction(), OptimizeGlobalAddressOfMalloc(), llvm::iplist< Argument >::push_back(), llvm::iplist< Argument >::push_front(), llvm::ReplaceInstWithInst(), llvm::SplitCriticalEdge(), llvm::SplitLandingPadPredecessors(), SRAGlobal(), and TryToShrinkGlobalToBoolean().
|
inline |
|
inline |
Definition at line 428 of file ilist.h.
Referenced by llvm::Instruction::insertAfter(), llvm::MachineBasicBlock::insertAfter(), and llvm::SlotIndexes::insertMBBInMaps().
|
inline |
|
inline |
|
inline |
Definition at line 632 of file ilist.h.
Referenced by llvm::iplist< Argument >::merge().
|
inline |
Definition at line 559 of file ilist.h.
Referenced by llvm::DeleteDeadBlock(), FoldBlockIntoPredecessor(), HandleCallsInBlockInlinedThroughInvoke(), llvm::InlineFunction(), llvm::MergeBlockIntoPredecessor(), llvm::MachineBasicBlock::pop_back(), and llvm::UnifyFunctionExitNodes::runOnFunction().
|
inline |
Definition at line 555 of file ilist.h.
Referenced by llvm::yaml::Scanner::getNext(), HandleCallsInBlockInlinedThroughInvoke(), llvm::MachineBasicBlock::pop_front(), and llvm::BasicBlock::removePredecessor().
|
inline |
Definition at line 554 of file ilist.h.
Referenced by llvm::Argument::Argument(), llvm::CloneAndPruneFunctionInto(), llvm::CloneBasicBlock(), llvm::BinaryOperator::Create(), createMalloc(), llvm::CodeExtractor::extractCodeRegion(), llvm::FoldReturnIntoUncondBranch(), llvm::Module::getOrInsertFunction(), llvm::GlobalAlias::GlobalAlias(), llvm::GlobalVariable::GlobalVariable(), llvm::Instruction::Instruction(), llvm::MCFragment::MCFragment(), llvm::MCSectionData::MCSectionData(), llvm::MCSymbolData::MCSymbolData(), llvm::UnifyFunctionExitNodes::runOnFunction(), and llvm::UnrollLoop().
|
inline |
|
inline |
Definition at line 377 of file ilist.h.
Referenced by llvm::MachineBasicBlock::instr_rbegin(), llvm::BasicBlock::rbegin(), llvm::MachineFunction::rbegin(), llvm::MCSectionData::rbegin(), and SinkThenElseCodeToEnd().
|
inline |
|
inline |
Definition at line 435 of file ilist.h.
Referenced by llvm::NVPTXAsmPrinter::doFinalization(), llvm::SlotIndexes::eraseIndex(), llvm::MachineFunction::remove(), llvm::MachineBasicBlock::remove(), llvm::MachineBasicBlock::remove_instr(), llvm::GlobalAlias::removeFromParent(), llvm::Instruction::removeFromParent(), llvm::BasicBlock::removeFromParent(), llvm::GlobalVariable::removeFromParent(), llvm::Function::removeFromParent(), and llvm::CallGraph::removeFunctionFromModule().
|
inline |
|
inline |
Definition at line 379 of file ilist.h.
Referenced by llvm::MachineBasicBlock::instr_rend(), llvm::BasicBlock::rend(), llvm::MachineFunction::rend(), llvm::MCSectionData::rend(), and SinkThenElseCodeToEnd().
|
inline |
|
inline |
Definition at line 539 of file ilist.h.
Referenced by llvm::Module::alias_size(), llvm::NVPTXAsmPrinter::doFinalization(), llvm::Module::named_metadata_size(), llvm::BasicBlock::size(), llvm::MachineBasicBlock::size(), llvm::MachineFunction::size(), llvm::Function::size(), llvm::Module::size(), and llvm::MCSectionData::size().
void llvm::iplist< NodeTy, Traits >::sort | ( | Pr3 | pred | ) |
|
inline |
Definition at line 635 of file ilist.h.
Referenced by llvm::iplist< Argument >::sort().
|
inline |
Definition at line 570 of file ilist.h.
Referenced by FoldBlockIntoPredecessor(), FoldTwoEntryPHINode(), HoistThenElseCodeToIf(), llvm::InlineFunction(), llvm::MergeBasicBlockIntoOnlyPred(), llvm::MergeBlockIntoPredecessor(), llvm::BasicBlock::moveAfter(), llvm::Instruction::moveBefore(), llvm::BasicBlock::moveBefore(), SinkThenElseCodeToEnd(), SpeculativelyExecuteBB(), llvm::MachineFunction::splice(), llvm::MachineBasicBlock::splice(), llvm::BasicBlock::splitBasicBlock(), and llvm::UnrollRuntimeLoopProlog().
|
inline |
|
inline |
|
inline |
Definition at line 407 of file ilist.h.
Referenced by std::swap().
|
inline |
|
inline |
Definition at line 617 of file ilist.h.
Referenced by llvm::iplist< Argument >::unique().