LLVM 20.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. | |
Public Member Functions inherited from llvm::ilist_detail::node_parent_access< ilist_node_impl< OptionsT >, OptionsT::parent_ty > | |
const OptionsT::parent_ty * | getParent () const |
OptionsT::parent_ty * | getParent () |
void | setParent (OptionsT::parent_ty *Parent) |
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 72 of file ilist_node.h.
|
protected |
Definition at line 105 of file ilist_node.h.
|
protected |
Definition at line 99 of file ilist_node.h.
|
protected |
Definition at line 102 of file ilist_node.h.
|
protected |
Definition at line 96 of file ilist_node.h.
|
protecteddefault |
|
inline |
Definition at line 132 of file ilist_node.h.
Referenced by llvm::VPlanTransforms::adjustFixedOrderRecurrences(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::GCNSubtarget::adjustSchedDependency(), llvm::HexagonInstrInfo::analyzeBranch(), analyzeCompressibleUses(), llvm::AMDGPUCombinerHelper::applyFoldableFneg(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), bbHasFallthrough(), BBHasFallthrough(), BreakUpSubtract(), canFallThroughTo(), llvm::AAResults::canInstructionRangeModRef(), canRenameUntilSecondLoad(), canSplitCallSite(), llvm::cloneAndAdaptNoAliasScopes(), llvm::CloneAndPruneIntoFromInst(), cloneInstructionsIntoPredecessorBlockAndUpdateSSAUses(), llvm::cloneLoopWithPreheader(), llvm::MachineFunction::cloneMachineInstrBundle(), collectCallSiteParameters(), llvm::ConvertDebugDeclareToDebugValue(), convertMetadataToAssumes(), ConvertShiftToMul(), copyMustTailReturn(), llvm::SplitAnalysis::countLiveBlocks(), createAndCollectMergePhiForReduction(), createCoroSave(), llvm::PeelingModuloScheduleExpander::CreateLCSSAExitingBlock(), createMemMoveLoopKnownSize(), createMemMoveLoopUnknownSize(), llvm::InstCombinerImpl::CreateNonTerminatorUnreachable(), llvm::OpenMPIRBuilder::createParallel(), llvm::createPHIsForSplitLoopExit(), createRetBitCast(), llvm::OpenMPIRBuilder::createSections(), llvm::RandomIRBuilder::createStackMemory(), createTileStore(), detectPopcountIdiom(), detectShiftUntilLessThanIdiom(), detectShiftUntilZeroIdiom(), DoLowering(), doPromotion(), llvm::DbgMarker::dropOneDbgRecord(), 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(), emitReadCounterWidePseudo(), emitSelectPseudo(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitTargetTaskProxyFunction(), emitVecCondBranchPseudo(), emitVGSaveRestore(), emitXBegin(), llvm::Function::eraseFromParent(), llvm::examineCFlagsUse(), llvm::VPWidenPointerInductionRecipe::execute(), 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(), foldInsSequenceIntoSplat(), 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(), 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::DbgRecord::getNextNode(), getNextNode(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::DbgRecord::getPrevNode(), llvm::slpvectorizer::BoUpSLP::getSpillCost(), llvm::MachineLoop::getTopBlock(), handleADRP(), HandleInlinedEHPad(), HandleInlinedLandingPad(), llvm::LiveIntervals::handleMoveIntoNewBundle(), llvm::objcarc::BottomUpPtrState::HandlePotentialUse(), hoist(), llvm::hoistAllInstructionsInto(), hoistBOAssociation(), hoistLockstepIdenticalDbgVariableRecords(), llvm::hoistRegion(), injectPendingInvariantConditions(), llvm::InlineFunction(), inlineRetainOrClaimRVCalls(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::Instruction::insertAfter(), llvm::VPRecipeBase::insertAfter(), llvm::Instruction::insertBefore(), llvm::VPRecipeBase::insertBefore(), llvm::HexagonInstrInfo::insertBranch(), insertDAGNode(), llvm::DIBuilder::insertDbgAssign(), llvm::DbgMarker::insertDbgRecord(), llvm::DbgMarker::insertDbgRecordAfter(), insertDivByZeroTrap(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::sandboxir::Instruction::insertInto(), llvm::BasicBlock::insertInto(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::SlotIndexes::insertMBBInMaps(), insertNewDbgInst(), insertRelocationStores(), insertRematerializationStores(), llvm::SIInstrInfo::insertSelect(), insertSpills(), insertUniqueBackedgeBlock(), isCopyOfBundle(), llvm::GIMatchTableExecutor::isObviouslySafeToFold(), llvm::isSafeToLoadUnconditionally(), isSafeToMove(), isSafeToSinkLoad(), llvm::isValidAssumeForContext(), jumpTableFollowsTB(), LLVMInsertExistingBasicBlockAfterInsertBlock(), LowerCallResults(), LowerFPToInt(), LowerNegateToMultiply(), llvm::IntrinsicLowering::LowerToByteSwap(), llvm::coro::LowererBase::makeSubFnCall(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchFreezeOfSingleMaybePoisonOperand(), llvm::gvn::AvailableValue::MaterializeAdjustedValue(), MayContainThrowingOrExitingCallAfterCB(), llvm::MergeBlockIntoPredecessor(), llvm::BasicBlock::moveAfter(), llvm::Instruction::moveAfter(), llvm::MachineBasicBlock::moveAfter(), llvm::Instruction::moveAfterPreserving(), moveBBContents(), llvm::sandboxir::Instruction::moveBefore(), llvm::BasicBlock::moveBefore(), llvm::Instruction::moveBefore(), llvm::MachineBasicBlock::moveBefore(), llvm::Instruction::moveBeforePreserving(), moveFunctionAdaptingType(), MoveVPNOTBeforeFirstUser(), llvm::ShuffleBlockStrategy::mutate(), llvm::InstDeleterIRStrategy::mutate(), NegateValue(), llvm::RandomIRBuilder::newSource(), llvm::SIInstrInfo::optimizeCompareInstr(), optimizeDivRem(), OptimizeGlobalAddressOfAllocation(), optimizeSQRT(), llvm::peelLoop(), placeSplitBlockCarefully(), llvm::AArch64InstrInfo::probedStackAlloc(), processAShr(), llvm::JumpThreadingPass::processBlock(), llvm::JumpThreadingPass::processImpliedCondition(), processSDiv(), processSExt(), processSIToFP(), processSRem(), programUndefinedIfUndefOrPoison(), llvm::promoteCall(), llvm::promoteLoopAccessesToScalars(), reinsertVectorIndexAdd(), llvm::removeAllNonTerminatorAndEHPadInstructions(), llvm::DbgRecord::removeFromParent(), llvm::Function::removeFromParent(), removeGlobalCtors(), llvm::MemoryDependenceResults::removeInstruction(), llvm::DbgMarker::removeMarker(), RemovePreallocated(), llvm::MachineFunction::RenumberBlocks(), llvm::SlotIndexes::repairIndexesInRange(), ReplaceCallWith(), replaceConstantExprOp(), replaceExtractElements(), replaceGEPIdxWithZero(), llvm::replaceSignedInst(), reuseTableCompare(), llvm::ARMBlockPlacement::revertWhileToDoLoop(), rewritePHIs(), runImpl(), llvm::CFIFixup::runOnMachineFunction(), runPass(), llvm::MachineFunction::salvageCopySSAImpl(), llvm::VPBuilder::setInsertPoint(), llvm::SystemZRegisterInfo::shouldCoalesce(), llvm::JumpThreadingPass::simplifyPartiallyRedundantLoad(), llvm::InstCombinerImpl::simplifyShrShlDemandedBits(), sinkAndCmp0Expression(), llvm::InstCombinerImpl::SliceUpIllegalIntegerPHI(), split(), llvm::SplitBlock(), splitBlock(), llvm::SplitBlockAndInsertIfElse(), llvm::SplitBlockAndInsertIfThen(), llvm::SplitBlockAndInsertIfThenElse(), llvm::splitBlockBefore(), splitCallSite(), llvm::OutlinableRegion::splitCandidate(), llvm::SplitKnownCriticalEdge(), SplitLandingPadPredecessorsImpl(), splitMBB(), tryToShorten(), TryToShrinkGlobalToBoolean(), llvm::UnrollAndJamLoop(), llvm::UnrollLoop(), llvm::UnrollRuntimeLoopRemainder(), unswitchNontrivialInvariants(), updateBranches(), UpdatePHINodes(), llvm::updatePublicTypeTestCalls(), llvm::UpgradeARCRuntime(), upgradeDbgIntrinsicToDbgRecord(), llvm::UpgradeIntrinsicCall(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), and verifyCFIntrinsic().
|
inline |
Definition at line 133 of file ilist_node.h.
|
inline |
Definition at line 135 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 139 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 150 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.
|
friend |
Definition at line 81 of file ilist_node.h.