LLVM 20.0.0git
Classes | Functions
std Namespace Reference

Implement std::hash so that hash_code can be used in STL containers. More...

Classes

struct  equal_to< llvm::rdf::RegisterAggr >
 
struct  equal_to< llvm::rdf::RegisterRef >
 
struct  hash< llvm::hash_code >
 
struct  hash< llvm::pdb::PDB_SymType >
 
struct  hash< llvm::rdf::detail::NodeRef >
 
struct  hash< llvm::rdf::RegisterAggr >
 
struct  hash< llvm::rdf::RegisterRef >
 
struct  hash< llvm::sampleprof::FunctionId >
 Template specialization for FunctionId so that it can be used in STL containers. More...
 
struct  hash< SDValue >
 
struct  hash< VarLocInsertPt >
 
struct  is_error_code_enum< llvm::BitcodeError >
 
struct  is_error_code_enum< llvm::codeview::cv_error_code >
 
struct  is_error_code_enum< llvm::errc >
 
struct  is_error_code_enum< llvm::msf::msf_error_code >
 
struct  is_error_code_enum< llvm::object::object_error >
 
struct  is_error_code_enum< llvm::pdb::dia_error_code >
 
struct  is_error_code_enum< llvm::pdb::pdb_error_code >
 
struct  is_error_code_enum< llvm::pdb::raw_error_code >
 
struct  is_error_code_enum< llvm::sampleprof_error >
 
struct  less< llvm::rdf::RegisterRef >
 
class  reverse_iterator< llvm::DWARFDie::iterator >
 
struct  tuple_element< I, const llvm::detail::enumerator_result< Refs... > >
 
struct  tuple_element< I, llvm::detail::enumerator_result< Refs... > >
 
struct  tuple_element< I, llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info > >
 
struct  tuple_element< Index, llvm::StringMapEntry< ValueTy > >
 
struct  tuple_size< llvm::detail::enumerator_result< Refs... > >
 
struct  tuple_size< llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info > >
 
struct  tuple_size< llvm::StringMapEntry< ValueTy > >
 

Functions

void swap (llvm::BitVector &LHS, llvm::BitVector &RHS)
 Implement std::swap in terms of BitVector swap.
 
template<class Ty >
void swap (llvm::iplist< Ty > &Left, llvm::iplist< Ty > &Right)
 
template<typename T , typename V , typename S , unsigned N>
void swap (llvm::SetVector< T, V, S, N > &LHS, llvm::SetVector< T, V, S, N > &RHS)
 Implement std::swap in terms of SetVector swap.
 
template<typename T , unsigned N>
void swap (llvm::SmallSetVector< T, N > &LHS, llvm::SmallSetVector< T, N > &RHS)
 Implement std::swap in terms of SmallSetVector swap.
 
void swap (llvm::SmallBitVector &LHS, llvm::SmallBitVector &RHS)
 Implement std::swap in terms of BitVector swap.
 
template<class T , unsigned N>
void swap (llvm::SmallPtrSet< T, N > &LHS, llvm::SmallPtrSet< T, N > &RHS)
 Implement std::swap in terms of SmallPtrSet swap.
 
template<typename T >
void swap (llvm::SmallVectorImpl< T > &LHS, llvm::SmallVectorImpl< T > &RHS)
 Implement std::swap in terms of SmallVector swap.
 
template<typename T , unsigned N>
void swap (llvm::SmallVector< T, N > &LHS, llvm::SmallVector< T, N > &RHS)
 Implement std::swap in terms of SmallVector swap.
 

Detailed Description

Implement std::hash so that hash_code can be used in STL containers.

Function Documentation

◆ swap() [1/8]

void std::swap ( llvm::BitVector LHS,
llvm::BitVector RHS 
)
inline

Implement std::swap in terms of BitVector swap.

Definition at line 860 of file BitVector.h.

References LHS, RHS, and swap().

Referenced by addAttributeImpl(), llvm::logicalview::LVRange::addEntry(), llvm::PressureDiff::addPressureChange(), llvm::InstrProfWriter::addTemporalProfileTraces(), adjustICmp128(), llvm::AMDGPUAAResult::alias(), llvm::coro::Shape::analyze(), llvm::analyzeICmp(), llvm::CombinerHelper::applyCombineAddP2IToPtrAdd(), llvm::MemoryDepChecker::areDepsSafe(), AttemptToFoldSymbolOffsetDifference(), llvm::SUnit::biasCriticalPath(), llvm::SparcTargetLowering::bitcastConstantFPToInt(), llvm::memprof::CallStackRadixTreeBuilder< FrameIdTy >::build(), llvm::TargetLowering::buildLegalVectorShuffle(), canonicalizeAbs(), llvm::SelectionDAG::canonicalizeCommutativeBinop(), llvm::InstCombinerImpl::canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(), canonicalizeForInvariantConditionInjection(), canonicalizeICmpBool(), canonicalizeSaturatedAdd(), canonicalizeSaturatedSubtract(), canonicalizeShuffleMaskWithHorizOp(), checkBiasedBranch(), checkForNegativeOperand(), llvm::MachineBasicBlock::clearLiveIns(), combineADDToADDZE(), combineADDToMAT_PCREL_ADDR(), combineAndOrForCcmpCtest(), CombineBaseUpdate(), combineBinOpOfExtractToReduceTree(), combineCarryDiamond(), combineCMov(), combineFMulcFCMulc(), combineHorizOpWithShuffle(), combineLogicBlendIntoConditionalNegate(), combineMul(), combineOp_VLToVWOp_VL(), combineOrCmpEqZeroToCtlzSrl(), llvm::VETargetLowering::combineSelect(), combineSelect(), combineSelectAndUse(), llvm::VETargetLowering::combineSelectCC(), combineSelectOfTwoConstants(), combineSetCC(), combineShuffleToFMAddSub(), combineSVEPrefetchVecBaseImmOff(), combineTargetShuffle(), combineToVWMACC(), combineVSelectWithAllOnesOrZeros(), combineX86ShuffleChainWithExtract(), combineX86ShufflesRecursively(), llvm::SIInstrInfo::commuteInstructionImpl(), commuteShuffle(), llvm::KnownBits::computeForAddSub(), llvm::KnownBits::computeForSubBorrow(), llvm::SelectionDAG::computeKnownBits(), llvm::ARMTargetLowering::computeKnownBitsForTargetNode(), llvm::SelectionDAG::ComputeNumSignBits(), llvm::ConstantFoldTerminator(), llvm::InstCombinerImpl::convertOrOfShiftsToFunnelShift(), llvm::SelectionDAG::copyExtraInfo(), countToEliminateCompares(), createGPRPairNode(), createGPRPairNodei64(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::DomTreeBuilder::DeleteEdge(), detectExtMul(), detectPMADDUBSW(), detectShiftUntilBitTestIdiom(), detectShiftUntilZeroIdiom(), llvm::SIRegisterInfo::eliminateFrameIndex(), EmitCMP(), emitConjunctionRec(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::emitLoadLinked(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::ARMTargetLowering::emitStoreConditional(), llvm::DominatorTreeBase< NodeT, IsPostDom >::eraseNode(), llvm::TargetLowering::expandCMP(), expandSGPRCopy(), llvm::orc::EPCGenericJITLinkMemoryManager::InFlightAlloc::finalize(), llvm::orc::MapperJITLinkMemoryManager::InFlightAlloc::finalize(), llvm::gsym::GsymCreator::finalize(), llvm::orc::EPCGenericRTDyldMemoryManager::finalizeMemory(), llvm::DominatorTreeBase< NodeT, IsPostDom >::findNearestCommonDominator(), llvm::CoalescerPair::flip(), foldAbsDiff(), foldAndOrOfICmpsWithPow2AndWithZero(), foldBinOpIntoSelectIfProfitable(), foldCSELOfCSEL(), foldFCmpFNegCommonOp(), foldFCmpWithFloorAndCeil(), llvm::AMDGPUTargetLowering::foldFreeOpFromSelect(), foldGuardedFunnelShift(), foldICmpAndXX(), foldICmpOrXX(), llvm::InstCombinerImpl::foldICmpTruncWithTruncOrExt(), foldICmpWithLowBitMaskedVal(), llvm::InstCombinerImpl::foldICmpWithMinMax(), foldICmpXorXX(), foldIntrinsicUsingDistributiveLaws(), foldIsPowerOf2(), foldLoadsRecursive(), foldMaskedMergeImpl(), foldMulShl1(), foldOrCommuteConstant(), foldSelectICmpAnd(), foldSelectICmpAndZeroShl(), foldSelectICmpLshrAshr(), foldSelectShuffleOfSelectShuffle(), foldSelectWithIdentityConstant(), foldSelectZeroOrMul(), foldShiftIntoShiftInAnotherHandOfAndInICmp(), foldShuffleWithInsert(), foldTwoEntryPHINode(), foldUnsignedUnderflowCheck(), llvm::InstCombinerImpl::foldVectorBinop(), foldVSelectToSignBitSplatMask(), generateEquivalentSub(), GenerateTBL(), getAArch64Cmp(), getBranchHint(), getBranchWeights(), getBuildVectorSplat(), getCmp(), llvm::TargetRegisterInfo::getCommonSuperRegClass(), getCopyFromParts(), llvm::PPCMCCodeEmitter::getDispRI34PCRelEncoding(), getDivRemArgList(), getEstimatedTripCount(), getHashValueImpl(), llvm::GetIfCondition(), llvm::Loop::getIncomingAndBackEdge(), llvm::ScalarEvolution::getLoopInvariantExitCondDuringFirstIterationsImpl(), llvm::ScalarEvolution::getLoopInvariantPredicate(), llvm::SelectionDAG::getNode(), getOperandsForBranch(), llvm::PeelingModuloScheduleExpander::getPhiCanonicalReg(), llvm::ARMTargetLowering::getPostIndexedAddressParts(), llvm::PPCTargetLowering::getPreIndexedAddressParts(), llvm::TargetInstrInfo::getReassociationOpcodes(), llvm::RegBankSelect::getRepairCost(), getShuffleHalfVectors(), llvm::getShuffleMaskWithWidestElts(), getStartAndEndForAccess(), getTestBitReg(), getThreeSrcCommuteCase(), GroupByComplexity(), llvm::orc::SimpleRemoteEPC::handleDisconnect(), llvm::orc::SimpleRemoteEPCServer::handleDisconnect(), handlePhiDef(), llvm::TargetInstrInfo::hasReassociableSibling(), hoistAdd(), hoistAddSub(), hoistBOAssociation(), hoistMinMax(), hoistMulAddAssociation(), hoistSub(), llvm::GCNRegPressure::inc(), llvm::InlineFunction(), llvm::DomTreeBuilder::InsertEdge(), insertFoldCacheEntry(), insertNoDuplicates(), llvm::SIInstrInfo::insertSelect(), llvm::GCNTTIImpl::instCombineIntrinsic(), interChangeDependencies(), isAddSubOrSubAdd(), llvm::CoalescerPair::isCoalescable(), isFNEG(), isHorizontalBinOp(), isI128MovedFromParts(), isImpliedCondICmps(), isKnownPredicateExtendIdiom(), IsKnownPredicateViaMinOrMax(), isLegalToInterChangeLoops(), llvm::SwingSchedulerDAG::isLoopCarriedDep(), isLoopNeverExecuted(), isSetCC(), isSignedMinMaxClamp(), isSignedMinMaxIntrinsicClamp(), legalizeFCmpPredicate(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), llvm::TargetLowering::LegalizeSetCCCondCode(), llvm::cfg::LegalizeUpdates(), LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks(), lowerAddSubToHorizontalOp(), LowerAndToBT(), LowerAndToBTST(), LowerFMINIMUM_FMAXIMUM(), llvm::SparcTargetLowering::LowerFormalArguments_32(), LowerFunnelShift(), LowerIntVSETCC_AVX512(), lowerMSABinaryBitImmIntr(), lowerMSASplatZExt(), LowerMUL(), LowerShift(), lowerShuffleAsBlend(), lowerShuffleAsLanePermuteAndRepeatedMask(), lowerShuffleWithPERMV(), lowerShuffleWithSHUFPS(), llvm::LegalizerHelper::lowerThreewayCompare(), lowerV8I16GeneralSingleInputShuffle(), lowerVECTOR_SHUFFLE(), llvm::HexagonTargetLowering::LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLE(), lowerVECTOR_SHUFFLEAsVSlide1(), LowerVSETCC(), LowerVSETCCWithSUBUS(), matchBinaryShuffle(), llvm::CombinerHelper::matchCanonicalizeFCmp(), llvm::CombinerHelper::matchCanonicalizeICmp(), matchClamp(), llvm::CombinerHelper::matchCombineFAddFMAFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), matchCondition(), matchFastFloatClamp(), matchLogicBlend(), matchMinMaxOfMinMax(), matchOrConcat(), matchPMADDWD(), matchPMADDWD_2(), llvm::CombinerHelper::matchSelectIMinMax(), matchSelectPattern(), matchSelectWithOptionalNotCond(), matchShuffleWithSHUFPD(), matchShuffleWithUNPCK(), llvm::InstCombinerImpl::matchThreeWayIntCompare(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), mayUseP9Setb(), mergeConditionalStores(), MergeSeqs(), llvm::AliasSet::mergeSetIn(), llvm::LiveRange::MergeValueNumberInto(), llvm::hashing::detail::hash_state::mix(), llvm::orc::SymbolStringPoolEntryUnsafe::moveToSymbolStringPtr(), multikeySort(), needsLFTR(), NegateCC(), llvm::FullDependence::normalize(), llvm::Triple::normalize(), llvm::jitlink::JITLinkMemoryManager::FinalizedAlloc::operator=(), llvm::ItaniumPartialDemangler::operator=(), llvm::MustBeExecutedIterator::operator=(), PODSmallVector< T, N >::operator=(), llvm::Regex::operator=(), llvm::AA::PointerInfo::State::operator=(), llvm::StringMap< ValueTy, AllocatorTy >::operator=(), llvm::orc::SymbolStringPtr::operator=(), llvm::orc::shared::WrapperFunctionResult::operator=(), llvm::X86::optimizeInstFromVEX3ToVEX2(), llvm::InstCombinerImpl::OptimizePointerDifference(), llvm::LiveRange::overlaps(), llvm::LiveRange::overlapsFrom(), parseBraceExpansions(), AbstractManglingParser< Derived, Alloc >::parseFoldExpr(), llvm::LoopStructure::parseLoopStructure(), llvm::PeelSingleBlockLoop(), performAddCSelIntoCSinc(), performAddDotCombine(), PerformANDCombine(), performANDORCSELCombine(), performBRCONDCombine(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), llvm::HexagonTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), performExtBinopLoadFold(), PerformFAddVSelectCombine(), performGatherLoadCombine(), PerformMinMaxCombine(), PerformMinMaxToSatCombine(), performMulCombine(), performMULCombine(), performORCombine(), performScatterStoreCombine(), PerformSELECTCombine(), performSetccAddFolding(), PerformVMOVRRDCombine(), PerformVMULCombine(), PerformVSetCCToVCTPCombine(), llvm::LatencyPriorityQueue::pop(), llvm::ResourcePriorityQueue::pop(), llvm::gsym::GsymCreator::prepareMergedFunctions(), PrintResults(), pushAddIntoCmovOfConsts(), llvm::FileCheck::readCheckFile(), reassociateFCmps(), llvm::TargetInstrInfo::reassociateOps(), reconnectChildLoops(), llvm::orc::shared::WrapperFunctionResult::release(), llvm::LatencyPriorityQueue::remove(), llvm::ResourcePriorityQueue::remove(), llvm::orc::SymbolLookupSet::remove(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::RemoveRedundantRoots(), ReorganizeVector(), llvm::RegBankSelect::repairReg(), ReplaceATOMIC_LOAD_128Results(), ReplaceCMP_SWAP_128Results(), replaceShuffleOfInsert(), llvm::SIRegisterInfo::resolveFrameIndex(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), runImpl(), llvm::mca::Scheduler::select(), selectUmullSmull(), setLimitsForBinOp(), llvm::setLoopEstimatedTripCount(), llvm::CoalescerPair::setRegisters(), shareSameRegisterFile(), llvm::orc::rt_bootstrap::SimpleExecutorDylibManager::shutdown(), llvm::InstCombinerImpl::SimplifyAddWithRemainder(), llvm::simplifyBinaryIntrinsic(), simplifyCmpSelOfMaxMin(), simplifyFCmpInst(), simplifyFMAFMul(), simplifyICmpInst(), llvm::ScalarEvolution::SimplifyICmpOperands(), simplifyICmpWithBinOp(), simplifyICmpWithMinMax(), simplifyIntrinsic(), simplifyLoopInst(), simplifySelectWithFCmp(), simplifySelectWithICmpCond(), simplifyShuffleVectorInst(), simplifySuspendPoints(), simplifySwitchOfCmpIntrinsic(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::CallGraphNode::stealCalledFunctionsFrom(), llvm::AllocatorList< T, AllocatorT >::swap(), llvm::Any::swap(), llvm::BitVector::swap(), llvm::SmallPtrSetImplBase::swap(), llvm::DenseMap< KeyT, ValueT, KeyInfoT, BucketT >::swap(), swap(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::swap(), llvm::simple_ilist< T, Options >::swap(), llvm::SmallBitVector::swap(), llvm::SmallDenseMap< KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT >::swap(), llvm::SmallVectorImpl< T >::swap(), llvm::StringMapImpl::swap(), llvm::GVNExpression::BasicExpression::swapOperands(), llvm::BranchProbabilityInfo::swapSuccEdgesProbabilities(), llvm::VPBlockBase::swapSuccessors(), Swizzle(), llvm::orc::SymbolStringPtr::SymbolStringPtr(), llvm::orc::SymbolStringPoolEntryUnsafe::take(), llvm::AddrLabelMap::takeDeletedSymbolsForFunction(), threadCmpOverPHI(), threadCmpOverSelect(), TranslateM68kCC(), translateSetCCForBranch(), TranslateX86CC(), translateX86FSETCC(), tryBitfieldInsertOpFromOr(), tryCombineWhileLo(), tryDemorganOfBooleanCondition(), tryFactorization(), tryFoldSelectIntoOp(), tryLowerPartialReductionToDot(), TryMULWIDECombine(), llvm::tryPressure(), trySequenceOfOnes(), trySimplifyICmpWithAdds(), tryWhileWRFromOR(), llvm::MCJIT::UnregisterJITEventListener(), updateBranchWeights(), upgradeX86ConcatShift(), upgradeX86IntrinsicCall(), upgradeX86VPERMT2Intrinsics(), valuesOverlap(), shuffles::vdealvdd(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitICmpInst(), llvm::InstCombinerImpl::visitOr(), llvm::InstCombinerImpl::visitShl(), llvm::SelectionDAGBuilder::visitSwitchCase(), llvm::InstCombinerImpl::visitXor(), shuffles::vshuffvdd(), llvm::orc::shared::WrapperFunctionResult::WrapperFunctionResult(), llvm::reassociate::XorOpnd::XorOpnd(), and llvm::orc::DefinitionGenerator::~DefinitionGenerator().

◆ swap() [2/8]

template<class Ty >
void std::swap ( llvm::iplist< Ty > &  Left,
llvm::iplist< Ty > &  Right 
)

Definition at line 352 of file ilist.h.

References swap().

◆ swap() [3/8]

template<typename T , typename V , typename S , unsigned N>
void std::swap ( llvm::SetVector< T, V, S, N > &  LHS,
llvm::SetVector< T, V, S, N > &  RHS 
)
inline

Implement std::swap in terms of SetVector swap.

Definition at line 387 of file SetVector.h.

References LHS, RHS, and swap().

◆ swap() [4/8]

void std::swap ( llvm::SmallBitVector LHS,
llvm::SmallBitVector RHS 
)
inline

Implement std::swap in terms of BitVector swap.

Definition at line 755 of file SmallBitVector.h.

References LHS, RHS, and swap().

◆ swap() [5/8]

template<class T , unsigned N>
void std::swap ( llvm::SmallPtrSet< T, N > &  LHS,
llvm::SmallPtrSet< T, N > &  RHS 
)
inline

Implement std::swap in terms of SmallPtrSet swap.

Definition at line 593 of file SmallPtrSet.h.

References LHS, RHS, and swap().

◆ swap() [6/8]

template<typename T , unsigned N>
void std::swap ( llvm::SmallSetVector< T, N > &  LHS,
llvm::SmallSetVector< T, N > &  RHS 
)
inline

Implement std::swap in terms of SmallSetVector swap.

Definition at line 395 of file SetVector.h.

References LHS, RHS, and swap().

◆ swap() [7/8]

template<typename T , unsigned N>
void std::swap ( llvm::SmallVector< T, N > &  LHS,
llvm::SmallVector< T, N > &  RHS 
)
inline

Implement std::swap in terms of SmallVector swap.

Definition at line 1336 of file SmallVector.h.

References LHS, and RHS.

◆ swap() [8/8]

template<typename T >
void std::swap ( llvm::SmallVectorImpl< T > &  LHS,
llvm::SmallVectorImpl< T > &  RHS 
)
inline

Implement std::swap in terms of SmallVector swap.

Definition at line 1329 of file SmallVector.h.

References LHS, and RHS.