LLVM 18.0.0git
|
Implementation for an ilist node. More...
#include "llvm/ADT/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. | |
Protected Types | |
using | self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, false >::type |
using | const_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, true >::type |
using | reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, false >::type |
using | const_reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, true >::type |
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 54 of file ilist_node.h.
|
protected |
Definition at line 82 of file ilist_node.h.
|
protected |
Definition at line 76 of file ilist_node.h.
|
protected |
Definition at line 79 of file ilist_node.h.
|
protected |
Definition at line 73 of file ilist_node.h.
|
protecteddefault |
|
inline |
Definition at line 109 of file ilist_node.h.
Referenced by llvm::VPlanTransforms::adjustFixedOrderRecurrences(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::GCNSubtarget::adjustSchedDependency(), llvm::HexagonInstrInfo::analyzeBranch(), analyzeCompressibleUses(), AMDGPUCombinerHelper::applyFoldableFneg(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), AttemptToFoldSymbolOffsetDifference(), bbHasFallthrough(), BBHasFallthrough(), canFallThroughTo(), llvm::AAResults::canInstructionRangeModRef(), canRenameUntilSecondLoad(), canSplitCallSite(), llvm::cloneAndAdaptNoAliasScopes(), llvm::CloneAndPruneIntoFromInst(), CloneInstructionsIntoPredecessorBlockAndUpdateSSAUses(), llvm::cloneLoopWithPreheader(), llvm::MachineFunction::cloneMachineInstrBundle(), collectCallSiteParameters(), llvm::ConvertDebugDeclareToDebugValue(), copyMustTailReturn(), llvm::SplitAnalysis::countLiveBlocks(), llvm::PeelingModuloScheduleExpander::CreateLCSSAExitingBlock(), llvm::InstCombinerImpl::CreateNonTerminatorUnreachable(), llvm::OpenMPIRBuilder::createParallel(), llvm::createPHIsForSplitLoopExit(), createRetBitCast(), llvm::OpenMPIRBuilder::createSections(), createTileStore(), detectPopcountIdiom(), detectShiftUntilZeroIdiom(), llvm::DPMarker::dropOneDPValue(), llvm::ARMBaseInstrInfo::duplicate(), llvm::JumpThreadingPass::duplicateCondBranchOnPHIIntoPred(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::OpenMPIRBuilder::emitBlock(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), emitFROUND(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), emitLoadM0FromVGPRLoop(), EmitLoweredCascadedSelect(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::PPCTargetLowering::emitProbedAlloca(), emitReadCycleWidePseudo(), emitSelectPseudo(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitVecCondBranchPseudo(), emitXBegin(), llvm::Function::eraseFromParent(), llvm::examineCFlagsUse(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::expandDivision(), llvm::VEInstrInfo::expandExtendStackPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::expandRemainder(), llvm::SparcTargetLowering::expandSelectCC(), llvm::OpenMPIRBuilder::finalize(), findDependencies(), findInitTrampolineFromBB(), findLiveSetAtInst(), llvm::CodeExtractor::findOrCreateBlockForHoisting(), llvm::ARMBlockPlacement::fixBackwardsWLS(), llvm::InstCombinerImpl::foldIntegerTypedPHI(), llvm::InstCombinerImpl::foldOpIntoPhi(), llvm::InstCombinerImpl::foldPHIArgBinOpIntoPHI(), llvm::InstCombinerImpl::foldPHIArgExtractValueInstructionIntoPHI(), llvm::InstCombinerImpl::foldPHIArgGEPIntoPHI(), llvm::InstCombinerImpl::foldPHIArgInsertValueInstructionIntoPHI(), llvm::InstCombinerImpl::foldPHIArgLoadIntoPHI(), llvm::InstCombinerImpl::foldPHIArgOpIntoPHI(), llvm::FoldReturnIntoUncondBranch(), foldSelectZeroOrMul(), llvm::InstCombinerImpl::freezeOtherUses(), getAllocaPos(), llvm::rdf::Liveness::getAllReachingDefs(), llvm::MachineLoop::getBottomBlock(), llvm::MemoryAccess::getDefsIterator(), llvm::MemoryDependenceResults::getDependency(), llvm::BasicBlock::getFirstInsertionPt(), llvm::BasicBlock::getFirstNonPHIOrDbgOrAlloca(), llvm::MemoryAccess::getIterator(), getNextBlock(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::MachineLoop::getTopBlock(), handleADRP(), HandleInlinedEHPad(), HandleInlinedLandingPad(), llvm::LiveIntervals::handleMoveIntoNewBundle(), llvm::objcarc::BottomUpPtrState::HandlePotentialUse(), llvm::hoistAllInstructionsInto(), INITIALIZE_PASS(), llvm::InlineFunction(), inlineRetainOrClaimRVCalls(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::Instruction::insertAfter(), llvm::VPRecipeBase::insertAfter(), llvm::Instruction::insertBefore(), llvm::VPRecipeBase::insertBefore(), llvm::HexagonInstrInfo::insertBranch(), insertDAGNode(), insertDivByZeroTrap(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::BasicBlock::insertInto(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::SlotIndexes::insertMBBInMaps(), llvm::SIInstrInfo::insertSelect(), insertSpills(), insertUniqueBackedgeBlock(), llvm::Instruction::Instruction(), isCopyOfBundle(), llvm::GIMatchTableExecutor::isObviouslySafeToFold(), llvm::isSafeToLoadUnconditionally(), isSafeToSinkLoad(), llvm::isValidAssumeForContext(), jumpTableFollowsTB(), LLVMInsertExistingBasicBlockAfterInsertBlock(), LowerCallResults(), LowerFPToInt(), MayContainThrowingOrExitingCallAfterCB(), llvm::MergeBlockIntoPredecessor(), MergeCompatibleInvokesImpl(), llvm::BasicBlock::moveAfter(), llvm::Instruction::moveAfter(), llvm::MachineBasicBlock::moveAfter(), llvm::Instruction::moveAfterPreserving(), moveBBContents(), llvm::BasicBlock::moveBefore(), llvm::Instruction::moveBefore(), llvm::MachineBasicBlock::moveBefore(), llvm::Instruction::moveBeforePreserving(), MoveVPNOTBeforeFirstUser(), llvm::ShuffleBlockStrategy::mutate(), llvm::InstDeleterIRStrategy::mutate(), llvm::SIInstrInfo::optimizeCompareInstr(), optimizeDivRem(), OptimizeGlobalAddressOfAllocation(), optimizeSQRT(), llvm::peelLoop(), placeSplitBlockCarefully(), programUndefinedIfUndefOrPoison(), reinsertVectorIndexAdd(), llvm::removeAllNonTerminatorAndEHPadInstructions(), llvm::DPValue::removeFromParent(), llvm::Function::removeFromParent(), removeGlobalCtors(), llvm::MemoryDependenceResults::removeInstruction(), llvm::MachineFunction::RenumberBlocks(), llvm::SlotIndexes::repairIndexesInRange(), ReplaceCallWith(), llvm::SCEVExpander::replaceCongruentIVs(), replaceExtractElements(), replaceGEPIdxWithZero(), replaceSubOverflowUses(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::ARMBlockPlacement::revertWhileToDoLoop(), rewritePHIs(), llvm::InstCombinerImpl::run(), llvm::CFIFixup::runOnMachineFunction(), llvm::MachineFunction::salvageCopySSAImpl(), llvm::VPBuilder::setInsertPoint(), llvm::InstCombinerImpl::simplifyShrShlDemandedBits(), split(), llvm::SplitBlock(), splitBlock(), llvm::SplitBlockAndInsertIfElse(), llvm::SplitBlockAndInsertIfThen(), llvm::SplitBlockAndInsertIfThenElse(), llvm::splitBlockBefore(), splitCallSite(), llvm::OutlinableRegion::splitCandidate(), llvm::SplitKnownCriticalEdge(), splitMBB(), TryToShrinkGlobalToBoolean(), llvm::TryToSimplifyUncondBranchFromEmptyBlock(), llvm::UnrollLoop(), llvm::UnrollRuntimeLoopRemainder(), updateBranches(), llvm::UpgradeARCRuntime(), llvm::UpgradeIntrinsicCall(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), and verifyCFIntrinsic().
|
inline |
Definition at line 110 of file ilist_node.h.
|
inline |
Definition at line 112 of file ilist_node.h.
Referenced by collectCallSiteParameters(), llvm::AsmPrinter::emitCFIInstruction(), llvm::MemoryAccess::getReverseDefsIterator(), llvm::MemoryAccess::getReverseIterator(), llvm::InstCombinerImpl::handleUnreachableFrom(), and splitCallSite().
|
inline |
Definition at line 116 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 127 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.
|
friend |
Definition at line 60 of file ilist_node.h.