LLVM 20.0.0git
|
A vector that has set insertion semantics. More...
#include "llvm/ADT/SetVector.h"
Inherited by llvm::SmallSetVector< const llvm::MachineInstr *, 32 >, llvm::SmallSetVector< llvm::MachineInstr *, 32 >, llvm::SmallSetVector< llvm::Register, 32 >, llvm::SmallSetVector< MachineInstr *, 2 >, llvm::SmallSetVector< unsigned, 32 >, llvm::SmallSetVector< DepTy, 2 >, llvm::SmallSetVector< llvm::Function *, 8 >, llvm::SmallSetVector< llvm::WeakVH, 16 >, llvm::SmallSetVector< llvm::BasicBlock *, 8 >, llvm::SmallSetVector< llvm::WeakVH, 8 >, llvm::SmallSetVector< llvm::AbstractAttribute *, 16 >, llvm::SmallSetVector< const llvm::DISubprogram *, 4 >, llvm::SmallSetVector< const llvm::DISubprogram *, 16 >, llvm::SmallSetVector< llvm::Instruction *, 8 >, llvm::SmallSetVector< llvm::Instruction *, 16 >, llvm::SmallSetVector< llvm::Function *, 4 >, llvm::SmallSetVector< MemberTy, 8 >, llvm::SmallSetVector< const llvm::LiveInterval *, 8 >, llvm::SmallSetVector< Register, 8 >, llvm::SmallSetVector< llvm::ElementCount, 2 >, and llvm::SmallSetVector< unsigned, 2 >.
Public Types | |
using | value_type = typename Vector::value_type |
using | key_type = typename Set::key_type |
using | reference = value_type & |
using | const_reference = const value_type & |
using | set_type = Set |
using | vector_type = Vector |
using | iterator = typename vector_type::const_iterator |
using | const_iterator = typename vector_type::const_iterator |
using | reverse_iterator = typename vector_type::const_reverse_iterator |
using | const_reverse_iterator = typename vector_type::const_reverse_iterator |
using | size_type = typename vector_type::size_type |
Public Member Functions | |
SetVector ()=default | |
Construct an empty SetVector. | |
template<typename It > | |
SetVector (It Start, It End) | |
Initialize a SetVector with a range of elements. | |
ArrayRef< value_type > | getArrayRef () const |
Vector | takeVector () |
Clear the SetVector and return the underlying vector. | |
bool | empty () const |
Determine if the SetVector is empty or not. | |
size_type | size () const |
Determine the number of elements in the SetVector. | |
iterator | begin () |
Get an iterator to the beginning of the SetVector. | |
const_iterator | begin () const |
Get a const_iterator to the beginning of the SetVector. | |
iterator | end () |
Get an iterator to the end of the SetVector. | |
const_iterator | end () const |
Get a const_iterator to the end of the SetVector. | |
reverse_iterator | rbegin () |
Get an reverse_iterator to the end of the SetVector. | |
const_reverse_iterator | rbegin () const |
Get a const_reverse_iterator to the end of the SetVector. | |
reverse_iterator | rend () |
Get a reverse_iterator to the beginning of the SetVector. | |
const_reverse_iterator | rend () const |
Get a const_reverse_iterator to the beginning of the SetVector. | |
const value_type & | front () const |
Return the first element of the SetVector. | |
const value_type & | back () const |
Return the last element of the SetVector. | |
const_reference | operator[] (size_type n) const |
Index into the SetVector. | |
bool | insert (const value_type &X) |
Insert a new element into the SetVector. | |
template<typename It > | |
void | insert (It Start, It End) |
Insert a range of elements into the SetVector. | |
bool | remove (const value_type &X) |
Remove an item from the set vector. | |
iterator | erase (const_iterator I) |
Erase a single element from the set vector. | |
template<typename UnaryPredicate > | |
bool | remove_if (UnaryPredicate P) |
Remove items from the set vector based on a predicate function. | |
bool | contains (const key_type &key) const |
Check if the SetVector contains the given key. | |
size_type | count (const key_type &key) const |
Count the number of elements of a given key in the SetVector. | |
void | clear () |
Completely clear the SetVector. | |
void | pop_back () |
Remove the last element of the SetVector. | |
value_type | pop_back_val () |
bool | operator== (const SetVector &that) const |
bool | operator!= (const SetVector &that) const |
template<class STy > | |
bool | set_union (const STy &S) |
Compute This := This u S, return whether 'This' changed. | |
template<class STy > | |
void | set_subtract (const STy &S) |
Compute This := This - B TODO: We should be able to use set_subtract from SetOperations.h, but SetVector interface is inconsistent with DenseSet. | |
void | swap (SetVector< T, Vector, Set, N > &RHS) |
A vector that has set insertion semantics.
This adapter class provides a way to keep a set of things that also has the property of a deterministic iteration order. The order of iteration is the order of insertion.
The key and value types are derived from the Set and Vector types respectively. This allows the vector-type operations and set-type operations to have different types. In particular, this is useful when storing pointers as "Foo *" values but looking them up as "const Foo *" keys.
No constraint is placed on the key and value types, although it is assumed that value_type can be converted into key_type for insertion. Users must be aware of any loss of information in this conversion. For example, setting value_type to float and key_type to int can produce very surprising results, but it is not explicitly disallowed.
The parameter N specifies the "small" size of the container, which is the number of elements upto which a linear scan over the Vector will be used when searching for elements instead of checking Set, due to it being better for performance. A value of 0 means that this mode of operation is not used, and is the default value.
Definition at line 57 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::const_iterator = typename vector_type::const_iterator |
Definition at line 70 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::const_reference = const value_type & |
Definition at line 66 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::const_reverse_iterator = typename vector_type::const_reverse_iterator |
Definition at line 72 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::iterator = typename vector_type::const_iterator |
Definition at line 69 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::key_type = typename Set::key_type |
Definition at line 64 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::reference = value_type & |
Definition at line 65 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::reverse_iterator = typename vector_type::const_reverse_iterator |
Definition at line 71 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::set_type = Set |
Definition at line 67 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::size_type = typename vector_type::size_type |
Definition at line 73 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::value_type = typename Vector::value_type |
Definition at line 63 of file SetVector.h.
using llvm::SetVector< T, Vector, Set, N >::vector_type = Vector |
Definition at line 68 of file SetVector.h.
|
default |
Construct an empty SetVector.
|
inline |
Initialize a SetVector with a range of elements.
Definition at line 80 of file SetVector.h.
References End, and llvm::SetVector< T, Vector, Set, N >::insert().
|
inline |
Return the last element of the SetVector.
Definition at line 149 of file SetVector.h.
References assert(), and llvm::SetVector< T, Vector, Set, N >::empty().
Referenced by llvm::DGNode< NodeType, EdgeType >::back(), llvm::SetVector< T, Vector, Set, N >::pop_back(), llvm::SetVector< T, Vector, Set, N >::pop_back_val(), llvm::AttributorCGSCCPass::run(), llvm::AttributorLightCGSCCPass::run(), llvm::OpenMPOptCGSCCPass::run(), setupBranchForGuard(), and sortBlocks().
|
inline |
Get an iterator to the beginning of the SetVector.
Definition at line 103 of file SetVector.h.
Referenced by llvm::NodeSet::begin(), llvm::AADepGraphNode::begin(), llvm::DGNode< NodeType, EdgeType >::begin(), calcPredicateUsingInteger(), llvm::AADepGraphNode::child_begin(), llvm::DominanceFrontierBase< BlockT, IsPostDom >::compareDomSet(), llvm::rdf::Liveness::computeLiveIns(), llvm::MachO::convertToInterfaceFile(), llvm::SetTheory::expand(), findLiveSetAtInst(), formLCSSAForInstructionsImpl(), getPotentialCopiesOfMemoryValue(), llvm::AttributorCallGraph::optimisticEdgesBegin(), llvm::promoteLoopAccessesToScalars(), llvm::MemorySSAUpdater::removeMemoryAccess(), replaceConditionalBranchesOnConstant(), sinkSpillUsesAfterCoroBegin(), splitPredecessorsOfLoopExit(), unswitchNontrivialInvariants(), and llvm::VPlan::vectorFactors().
|
inline |
Get a const_iterator to the beginning of the SetVector.
Definition at line 108 of file SetVector.h.
|
inline |
Completely clear the SetVector.
Definition at line 273 of file SetVector.h.
Referenced by analyzeLoopUnrollCost(), llvm::DGNode< NodeType, EdgeType >::clear(), llvm::NodeSet::clear(), llvm::slpvectorizer::BoUpSLP::deleteTree(), findBestInsertionSet(), pred_L(), llvm::MemorySSAUpdater::removeMemoryAccess(), llvm::InstructionSelect::MIIteratorMaintainer::reportFullyCreatedInstrs(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::reset(), llvm::VPlan::setUF(), llvm::VPlan::setVF(), and succ_L().
|
inline |
Check if the SetVector contains the given key.
Definition at line 254 of file SetVector.h.
References llvm::is_contained().
Referenced by llvm::InterleavedAccessInfo::analyzeInterleaving(), canRewriteGEPAsOffset(), computePath(), llvm::PotentialValuesState< MemberTy >::contains(), llvm::convertUsersOfConstantsToInstructions(), getSameOpcode(), llvm::VPlan::hasUF(), insertTrivialPHIs(), and mergeReplicateRegionsIntoSuccessors().
|
inline |
Count the number of elements of a given key in the SetVector.
Definition at line 264 of file SetVector.h.
References llvm::is_contained().
Referenced by addMappingsFromTLI(), buildClonedLoops(), llvm::NodeSet::count(), deleteDeadBlocksFromLoop(), eliminateDeadCode(), eraseLifetimeMarkersOnInputs(), findBestInsertionSet(), findExtractedInputToOverallInputMapping(), llvm::CodeExtractor::findInputsOutputs(), getPotentialCopiesOfMemoryValue(), llvm::VPlan::hasVF(), llvm::Attributor::isAssumedDead(), llvm::DotFuncBCIInfo::isDependent(), llvm::Attributor::isRunOn(), redirectToHub(), llvm::MemorySSAUpdater::removeBlocks(), shouldEmitDWARF(), llvm::SimplifyInstructionsInBlock(), sortBlocks(), tryInterleave(), and unswitchNontrivialInvariants().
|
inline |
Determine if the SetVector is empty or not.
Definition at line 93 of file SetVector.h.
Referenced by analyzeLoopUnrollCost(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::appliedCombine(), llvm::SetVector< T, Vector, Set, N >::back(), computeLiveInValues(), llvm::DwarfCompileUnit::createAndAddScopeChildren(), llvm::OpenMPIRBuilder::createParallel(), llvm::LLVMContextImpl::dropTriviallyDeadConstantArrays(), eliminateDeadCode(), llvm::LiveRangeEdit::eliminateDeadDefs(), llvm::NodeSet::empty(), llvm::rdf::DeadCodeElimination::erase(), llvm::CodeExtractor::extractCodeRegion(), llvm::SetVector< T, Vector, Set, N >::front(), llvm::MDNode::getMostGenericAliasScope(), llvm::VPlan::hasUF(), interpretValues(), llvm::InstructionWorklist::isEmpty(), llvm::Attributor::isRunOn(), mergeReplicateRegionsIntoSuccessors(), llvm::SetVector< T, Vector, Set, N >::pop_back(), llvm::InstructionWorklist::popDeferred(), pred_L(), llvm::MemorySSAUpdater::removeMemoryAccess(), llvm::removeUnreachableBlocks(), llvm::slpvectorizer::BoUpSLP::reorderBottomToTop(), llvm::InstructionSelect::MIIteratorMaintainer::reportFullyCreatedInstrs(), llvm::ReassociatePass::run(), llvm::AttributorCGSCCPass::run(), llvm::AttributorLightCGSCCPass::run(), runAttributorLightOnFunctions(), runAttributorOnFunctions(), llvm::PlaceSafepointsPass::runImpl(), llvm::SimplifyInstructionsInBlock(), llvm::InnerLoopVectorizer::sinkScalarOperands(), sortBlocks(), llvm::SplitIndirectBrCriticalEdges(), splitPredecessorsOfLoopExit(), succ_L(), tryInterleave(), and llvm::InstructionWorklist::zap().
|
inline |
Get an iterator to the end of the SetVector.
Definition at line 113 of file SetVector.h.
Referenced by llvm::AADepGraphNode::child_end(), llvm::DominanceFrontierBase< BlockT, IsPostDom >::compareDomSet(), llvm::rdf::Liveness::computeLiveIns(), llvm::NodeSet::end(), llvm::AADepGraphNode::end(), llvm::DGNode< NodeType, EdgeType >::end(), llvm::SetTheory::expand(), findLiveSetAtInst(), formLCSSAForInstructionsImpl(), getPotentialCopiesOfMemoryValue(), llvm::DGNode< NodeType, EdgeType >::hasEdgeTo(), llvm::AttributorCallGraph::optimisticEdgesEnd(), llvm::MemorySSAUpdater::removeMemoryAccess(), replaceConditionalBranchesOnConstant(), sinkSpillUsesAfterCoroBegin(), and llvm::VPlan::vectorFactors().
|
inline |
Get a const_iterator to the end of the SetVector.
Definition at line 118 of file SetVector.h.
|
inline |
Erase a single element from the set vector.
Definition at line 212 of file SetVector.h.
|
inline |
Return the first element of the SetVector.
Definition at line 143 of file SetVector.h.
References assert(), and llvm::SetVector< T, Vector, Set, N >::empty().
Referenced by llvm::DGNode< NodeType, EdgeType >::front(), and makeReducible().
|
inline |
Definition at line 84 of file SetVector.h.
Referenced by llvm::MDNode::concatenate(), llvm::CodeExtractor::extractCodeRegion(), getCodeExtractorArguments(), llvm::MDNode::getMostGenericAliasScope(), llvm::FunctionImporter::importFunctions(), llvm::MDNode::intersect(), llvm::AA::isPotentiallyAffectedByBarrier(), and llvm::slpvectorizer::BoUpSLP::vectorizeTree().
|
inline |
Insert a new element into the SetVector.
Definition at line 162 of file SetVector.h.
References llvm::is_contained(), N, and X.
Referenced by llvm::InstructionWorklist::add(), llvm::DGNode< NodeType, EdgeType >::addEdge(), llvm::MCContext::addGenDwarfSection(), llvm::InstrProfWriter::addTemporalProfileTraces(), llvm::VPlan::addVF(), analyzeExitPHIsForOutputUses(), llvm::InterleavedAccessInfo::analyzeInterleaving(), analyzeLoopUnrollCost(), llvm::CombinerHelper::applyExtendThroughPhis(), buildClonedLoops(), llvm::LoopVectorizationCostModel::calculateRegisterUsage(), canRewriteGEPAsOffset(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::changedInstr(), computeBlocksDominatingExits(), computeFunctionSummary(), computeKillSet(), llvm::rdf::Liveness::computeLiveIns(), computeLiveInValues(), computeLiveOutSeed(), llvm::rdf::Liveness::computePhiInfo(), llvm::MDNode::concatenate(), llvm::MachO::convertToInterfaceFile(), llvm::convertUsersOfConstantsToInstructions(), llvm::DwarfCompileUnit::createAndAddScopeChildren(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::createdInstr(), createNaturalLoopInternal(), DCEInstruction(), deleteDeadBlocksFromLoop(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::DGNode< NodeType, EdgeType >::DGNode(), llvm::LLVMContextImpl::dropTriviallyDeadConstantArrays(), eraseLifetimeMarkersOnInputs(), llvm::HexagonEvaluator::evaluate(), llvm::SetTheory::evaluate(), llvm::CodeExtractor::excludeArgFromAggregate(), llvm::CodeExtractor::extractCodeRegion(), llvm::CodeExtractor::findAllocas(), findBestInsertionSet(), llvm::CodeExtractor::findInputsOutputs(), llvm::FunctionPropertiesUpdater::finish(), formLCSSAForInstructionsImpl(), llvm::rdf::Liveness::getAllReachingDefs(), getLeastCommonType(), llvm::MDNode::getMostGenericAliasScope(), llvm::DWARFYAML::Data::getNonEmptySectionNames(), getPlanEntry(), llvm::AliasSet::getPointers(), getPotentialCopiesOfMemoryValue(), getSameOpcode(), llvm::FunctionImporter::importFunctions(), llvm::SetVector< T, Vector, Set, N >::insert(), llvm::NodeSet::insert(), insertIfNamed(), insertTrivialPHIs(), isFunctionMallocLike(), llvm::LiveRangeCalc::isJointlyDominated(), llvm::AA::isPotentiallyAffectedByBarrier(), isReturnNonNull(), isVectorPromotionViable(), LinearizeExprTree(), lowerStatepointMetaArgs(), makeReducible(), mergeReplicateRegionsIntoSuccessors(), llvm::InstructionSelect::MIIteratorMaintainer::MF_HandleInsertion(), SlotIndexUpdateDelegate::MF_HandleInsertion(), NegateValue(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::noteLostUses(), llvm::memprof::RawMemProfReader::peekBuildIds(), pred_L(), llvm::Attributor::registerAA(), remapExtractedInputs(), llvm::MemorySSAUpdater::removeMemoryAccess(), llvm::removeUnreachableBlocks(), llvm::slpvectorizer::BoUpSLP::reorderBottomToTop(), replaceAndRecursivelySimplifyImpl(), llvm::SIMachineFunctionInfo::reserveWWMRegister(), llvm::AttributorCGSCCPass::run(), llvm::AttributorLightCGSCCPass::run(), llvm::AttributorPass::run(), llvm::AttributorLightPass::run(), llvm::OpenMPOptPass::run(), runAttributorOnFunctions(), llvm::PlaceSafepointsPass::runImpl(), runIPSCCP(), llvm::SetVector< T, Vector, Set, N >::set_union(), llvm::VPlan::setUF(), llvm::SetVector< T, Vector, Set, N >::SetVector(), llvm::VPlan::setVF(), llvm::SIMachineFunctionInfo::shiftSpillPhysVGPRsToLowestRange(), simplifyAndDCEInstruction(), simplifyOneLoop(), llvm::InnerLoopVectorizer::sinkScalarOperands(), sinkScalarOperands(), sinkSpillUsesAfterCoroBegin(), sortBlocks(), llvm::SplitIndirectBrCriticalEdges(), succ_L(), tryInterleave(), unifyLoopExits(), llvm::UnrollLoop(), unswitchNontrivialInvariants(), updateCGAndAnalysisManagerForPass(), and llvm::slpvectorizer::BoUpSLP::vectorizeTree().
|
inline |
Insert a range of elements into the SetVector.
Definition at line 182 of file SetVector.h.
References End, and llvm::SetVector< T, Vector, Set, N >::insert().
|
inline |
Definition at line 295 of file SetVector.h.
|
inline |
Definition at line 291 of file SetVector.h.
|
inline |
|
inline |
Remove the last element of the SetVector.
Definition at line 279 of file SetVector.h.
References assert(), llvm::SetVector< T, Vector, Set, N >::back(), and llvm::SetVector< T, Vector, Set, N >::empty().
Referenced by llvm::SetVector< T, Vector, Set, N >::pop_back_val(), and sortBlocks().
|
inline |
Definition at line 285 of file SetVector.h.
References llvm::SetVector< T, Vector, Set, N >::back(), and llvm::SetVector< T, Vector, Set, N >::pop_back().
Referenced by analyzeLoopUnrollCost(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::appliedCombine(), computeLiveInValues(), llvm::LLVMContextImpl::dropTriviallyDeadConstantArrays(), eliminateDeadCode(), llvm::LiveRangeEdit::eliminateDeadDefs(), llvm::InstructionWorklist::popDeferred(), llvm::ReassociatePass::run(), llvm::SimplifyInstructionsInBlock(), llvm::InnerLoopVectorizer::sinkScalarOperands(), and sortBlocks().
|
inline |
Get an reverse_iterator to the end of the SetVector.
Definition at line 123 of file SetVector.h.
|
inline |
Get a const_reverse_iterator to the end of the SetVector.
Definition at line 128 of file SetVector.h.
|
inline |
Remove an item from the set vector.
Definition at line 188 of file SetVector.h.
References assert(), llvm::find(), I, and X.
Referenced by llvm::InterleavedAccessInfo::analyzeInterleaving(), computeFunctionSummary(), computeLiveInValues(), llvm::Combiner::WorkListMaintainerImpl< Lvl >::erasingInstr(), findLiveSetAtInst(), llvm::InstructionSelect::MIIteratorMaintainer::MF_HandleRemoval(), SlotIndexUpdateDelegate::MF_HandleRemoval(), llvm::InstructionWorklist::remove(), llvm::DGNode< NodeType, EdgeType >::removeEdge(), llvm::SetVector< T, Vector, Set, N >::set_subtract(), llvm::SIMachineFunctionInfo::shiftSpillPhysVGPRsToLowestRange(), and splitPredecessorsOfLoopExit().
|
inline |
Remove items from the set vector based on a predicate function.
This is intended to be equivalent to the following code, if we could write it:
However, SetVector doesn't expose non-const iterators, making any algorithm like remove_if impossible to use.
Definition at line 237 of file SetVector.h.
References I, P, and llvm::remove_if().
Referenced by llvm::MDNode::intersect(), and llvm::NodeSet::remove_if().
|
inline |
Get a reverse_iterator to the beginning of the SetVector.
Definition at line 133 of file SetVector.h.
|
inline |
Get a const_reverse_iterator to the beginning of the SetVector.
Definition at line 138 of file SetVector.h.
|
inline |
Compute This := This - B TODO: We should be able to use set_subtract from SetOperations.h, but SetVector interface is inconsistent with DenseSet.
Definition at line 318 of file SetVector.h.
References llvm::SetVector< T, Vector, Set, N >::remove().
Referenced by computeLiveInValues().
|
inline |
Compute This := This u S, return whether 'This' changed.
TODO: We should be able to use set_union from SetOperations.h, but SetVector interface is inconsistent with DenseSet.
Definition at line 303 of file SetVector.h.
References llvm::SetVector< T, Vector, Set, N >::insert().
Referenced by computeLiveInValues(), and llvm::BlockCoverageInference::getDependencies().
|
inline |
Determine the number of elements in the SetVector.
Definition at line 98 of file SetVector.h.
Referenced by analyzeLoopUnrollCost(), calcPredicateUsingBooleans(), calcPredicateUsingInteger(), canRewriteGEPAsOffset(), llvm::Attributor::checkForAllUses(), computeFunctionSummary(), llvm::rdf::Liveness::computeLiveIns(), computeLiveInValues(), llvm::rdf::Liveness::computePhiInfo(), convertToGuardPredicates(), llvm::CodeExtractor::extractCodeRegion(), llvm::FunctionPropertiesUpdater::finish(), llvm::rdf::Liveness::getAllReachingDefs(), getCodeExtractorArguments(), getLeastCommonType(), getPlanEntry(), getSameOpcode(), llvm::VPlan::hasScalarVFOnly(), llvm::FunctionImporter::importFunctions(), isFunctionMallocLike(), llvm::LiveRangeCalc::isJointlyDominated(), isReturnNonNull(), lowerStatepointMetaArgs(), makeReducible(), llvm::slpvectorizer::BoUpSLP::optimizeGatherSequence(), llvm::removeUnreachableBlocks(), replaceAndRecursivelySimplifyImpl(), runAttributorLightOnFunctions(), runAttributorOnFunctions(), sinkScalarOperands(), llvm::NodeSet::size(), sortBlocks(), unifyLoopExits(), and unswitchNontrivialInvariants().
|
inline |
Definition at line 324 of file SetVector.h.
References RHS.
|
inline |
Clear the SetVector and return the underlying vector.
Definition at line 87 of file SetVector.h.
Referenced by computeFunctionSummary(), computeVariableSummary(), llvm::AliasSet::getPointers(), lowerStatepointMetaArgs(), llvm::memprof::RawMemProfReader::peekBuildIds(), and llvm::removeUnreachableBlocks().