|
LLVM
4.0.0
|
Implementation for an ilist node. More...
#include <ilist_node.h>
Public Member Functions | |
| self_iterator | getIterator () |
| const_self_iterator | getIterator () const |
| reverse_self_iterator | getReverseIterator () |
| const_reverse_self_iterator | getReverseIterator () const |
| bool | isSentinel () const |
| Check whether this is the sentinel node. More... | |
Protected Types | |
| typedef ilist_iterator < OptionsT, false, false > | self_iterator |
| typedef ilist_iterator < OptionsT, false, true > | const_self_iterator |
| typedef ilist_iterator < OptionsT, true, false > | reverse_self_iterator |
| typedef ilist_iterator < OptionsT, true, true > | const_reverse_self_iterator |
Protected Member Functions | |
| ilist_node_impl ()=default | |
Implementation for an ilist node.
Templated on an appropriate ilist_detail::node_options, usually computed by ilist_detail::compute_node_options.
This is a wrapper around ilist_node_base whose main purpose is to provide type safety: you can't insert nodes of ilist_node_impl into the wrong simple_ilist or iplist.
Definition at line 41 of file ilist_node.h.
|
protected |
Definition at line 60 of file ilist_node.h.
|
protected |
Definition at line 58 of file ilist_node.h.
|
protected |
Definition at line 59 of file ilist_node.h.
|
protected |
Definition at line 57 of file ilist_node.h.
|
protecteddefault |
|
inline |
Definition at line 81 of file ilist_node.h.
Referenced by llvm::HexagonPacketizerList::addToPacket(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::HexagonInstrInfo::analyzeBranch(), llvm::SelectionDAG::AssignTopologicalOrder(), BBHasFallthrough(), canFallThroughTo(), canInstrSubstituteCmpInstr(), llvm::AAResults::canInstructionRangeModRef(), llvm::changeToInvokeAndSplitBasicBlock(), llvm::changeToUnreachable(), llvm::CloneAndPruneIntoFromInst(), llvm::cloneLoopWithPreheader(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::SplitAnalysis::countLiveBlocks(), deleteDeadInstruction(), llvm::DemotePHIToStack(), llvm::DemoteRegToStack(), detectPopcountIdiom(), DoPromotion(), eliminateDeadStores(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::SparcTargetLowering::emitEHSjLjSetJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::HexagonAsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), emitLoadM0FromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitXBegin(), llvm::VLIWPacketizerList::endPacket(), llvm::Module::eraseNamedMetadata(), llvm::expandDivision(), llvm::Mips16InstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::expandRemainder(), llvm::SparcTargetLowering::expandSelectCC(), llvm::objcarc::FindDependencies(), findInitTrampolineFromBB(), findInsertPointAfter(), findLiveSetAtInst(), findRetainForStoreStrongContraction(), findTRECandidate(), first_use_of_in_block(), fixPhis(), llvm::ScheduleDAGInstrs::fixupKills(), llvm::FoldBranchToCommonDest(), llvm::FoldReturnIntoUncondBranch(), llvm::MachineLoop::getBottomBlock(), getBundledUseMI(), llvm::MemoryDependenceResults::getDependency(), llvm::BasicBlock::getFirstInsertionPt(), llvm::SlotIndexes::getInstructionIndex(), getLiveRegsAt(), getNextBlock(), llvm::SlotIndexes::getNextNonNullIndex(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::MachineLoop::getTopBlock(), llvm::GlobalVariable::GlobalVariable(), handleFree(), HandleInlinedEHPad(), HandleInlinedLandingPad(), llvm::objcarc::BottomUpPtrState::HandlePotentialUse(), HoistThenElseCodeToIf(), INITIALIZE_PASS(), llvm::InlineFunction(), llvm::X86FrameLowering::inlineStackProbe(), llvm::MIBundleBuilder::insert(), llvm::Instruction::insertAfter(), llvm::Instruction::insertBefore(), llvm::HexagonInstrInfo::insertBranch(), insertDAGNode(), llvm::BasicBlock::insertInto(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::SlotIndexes::insertMBBInMaps(), llvm::InstCombiner::InsertNewInstBefore(), insertUseHolderAfter(), llvm::Instruction::Instruction(), llvm::MachineInstr::isIdenticalTo(), llvm::isKnownNotFullPoison(), llvm::isPotentiallyReachable(), llvm::ARMBaseInstrInfo::isPredicated(), isSafeAndProfitableToSinkLoad(), llvm::isSafeToLoadUnconditionally(), jumpTableFollowsTB(), LLVMPositionBuilderBefore(), llvm::MachineOperandIteratorBase::MachineOperandIteratorBase(), llvm::BasicBlock::moveAfter(), llvm::MachineBasicBlock::moveAfter(), moveBBContents(), llvm::Instruction::moveBefore(), llvm::BasicBlock::moveBefore(), llvm::MachineBasicBlock::moveBefore(), moveInstrOut(), moveUp(), OptimizeGlobalAddressOfMalloc(), optimizeSQRT(), llvm::peelLoop(), PerformHeapAllocSRoA(), placeSplitBlockCarefully(), llvm::HexagonInstrInfo::PredicateInstruction(), llvm::removeAllNonTerminatorAndEHPadInstructions(), removeEmptyCleanup(), llvm::MemoryDependenceResults::removeInstruction(), removeIPMBasedCompare(), llvm::MachineFunction::RenumberBlocks(), llvm::SlotIndexes::repairIndexesInRange(), ReplaceCallWith(), llvm::BitTracker::run(), llvm::InstCombiner::run(), llvm::AArch64InstructionSelector::select(), llvm::IRBuilderBase::SetInsertPoint(), llvm::MachineIRBuilder::setInstr(), SimplifyBranchOnICmpChain(), llvm::InstCombiner::SimplifyDivRemOfSelect(), SpeculativelyExecuteBB(), llvm::BasicBlock::splitBasicBlock(), llvm::SplitBlock(), llvm::SplitBlockAndInsertIfThen(), llvm::SplitBlockAndInsertIfThenElse(), llvm::SplitCriticalEdge(), toggleBundleKillFlag(), TryToShrinkGlobalToBoolean(), TryToSinkInstruction(), llvm::UnrollRuntimeLoopRemainder(), llvm::UpgradeIntrinsicCall(), and llvm::InstCombiner::visitStoreInst().
|
inline |
Definition at line 82 of file ilist_node.h.
|
inline |
Definition at line 83 of file ilist_node.h.
|
inline |
Definition at line 86 of file ilist_node.h.
|
inline |
Check whether this is the sentinel node.
This requires sentinel tracking to be explicitly enabled. Use the ilist_sentinel_tracking<true> option to get this API.
Definition at line 97 of file ilist_node.h.
|
friend |
Definition at line 47 of file ilist_node.h.
|
friend |
Definition at line 49 of file ilist_node.h.
|
friend |
Definition at line 50 of file ilist_node.h.
|
friend |
Definition at line 51 of file ilist_node.h.
|
friend |
Definition at line 52 of file ilist_node.h.
|
friend |
Definition at line 48 of file ilist_node.h.
1.8.6