LLVM 20.0.0git
|
#include "llvm/Transforms/IPO/DeadArgumentElimination.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/AttributeMask.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DIBuilder.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/NoFolder.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include <cassert>
#include <utility>
#include <vector>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "deadargelim" |
Functions | |
STATISTIC (NumArgumentsEliminated, "Number of unread args removed") | |
STATISTIC (NumRetValsEliminated, "Number of unused return values removed") | |
STATISTIC (NumArgumentsReplacedWithPoison, "Number of unread args replaced with poison") | |
INITIALIZE_PASS (DAH, "deadarghaX0r", "Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)", false, false) ModulePass *llvm | |
This pass removes arguments from functions which are not used by the body of the function. | |
Convenience function that returns the number of return values It returns for void functions and for functions not returning a struct It returns the number of struct elements for functions returning a struct static unsigned | numRetVals (const Function *F) |
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one | Idx (i.e. only top-level structure is considered). static Type *getRetComponentType(const Function *F |
assert (!RetTy->isVoidTy() &&"void type has no subtype") | |
if (StructType *STy=dyn_cast< StructType >(RetTy)) return STy -> getElementType(Idx) | |
if (ArrayType *ATy=dyn_cast< ArrayType >(RetTy)) return ATy -> getElementType() | |
Looks at all the uses of the given value Returns the Liveness deduced from the uses of this value Adds all uses that cause the result to be MaybeLive to MaybeLiveRetUses If the result is MaybeLiveUses might be modified but its content should be | ignored (since it might not be complete). DeadArgumentEliminationPass |
Mark the given Function as meaning that it cannot be changed in any way mark any values that are used as this function s parameters or by its return | values (according to Uses) live as well. void DeadArgumentEliminationPass |
Mark the given return value or argument as live mark any values that are used by this | value (according to Uses) live as well. void DeadArgumentEliminationPass |
Given that RA is a live propagate it s liveness to any other values it | uses (according to Uses). void DeadArgumentEliminationPass |
Variables | |
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one unsigned | Idx |
return | RetTy |
Checks Use for liveness in LiveValues If Use is not | live |
Looks at a single use of an argument or return value and determines if it should be alive or not Adds this use to MaybeLiveUses if it causes the used value to become MaybeLive RetValNum is the return value number to use when this use is used in a return instruction This is used in the | recursion |
Looks at all the uses of the given value Returns the Liveness deduced from the uses of this value Adds all uses that cause the result to be MaybeLive to MaybeLiveRetUses If the result is | Live |
Performs the initial survey of the specified | function |
Marks the liveness of RA depending on L If L is | MaybeLive |
Marks the liveness of RA depending on L If L is it also takes all uses in MaybeLiveUses and records them in | Uses |
Mark the given Function as | alive |
Mark the given Function as meaning that it cannot be changed in any way | Additionally |
Given that RA is a live | value |
#define DEBUG_TYPE "deadargelim" |
Definition at line 55 of file DeadArgumentElimination.cpp.
assert | ( | !RetTy->isVoidTy() &&"void type has no subtype" | ) |
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one Idx | ( | i.e. only top-level structure is | considered | ) | const |
if | ( | StructType * | STy = dyn_cast< StructType >(RetTy) | ) | -> getElementType(Idx) |
Looks at all the uses of the given value Returns the Liveness deduced from the uses of this value Adds all uses that cause the result to be MaybeLive to MaybeLiveRetUses If the result is MaybeLiveUses might be modified but its content should be ignored | ( | since it might not be | complete | ) |
Definition at line 472 of file DeadArgumentElimination.cpp.
References llvm::DeadArgumentEliminationPass::Live, and llvm::DeadArgumentEliminationPass::MaybeLive.
Referenced by llvm::ConstantFoldCastInstruction(), emitDebugValueComment(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::ConstantFP::get(), llvm::ExecutionEngine::getConstantValue(), llvm::APFloat::isExactlyValue(), llvm::ConstantFP::isExactlyValue(), llvm::ARMAsmPrinter::lowerOperand(), WriteAPFloatInternal(), and llvm::X86TargetLowering::X86TargetLowering().
INITIALIZE_PASS | ( | DAH | , |
"deadarghaX0r" | , | ||
"Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)" | , | ||
false | , | ||
false | |||
) |
This pass removes arguments from functions which are not used by the body of the function.
Definition at line 116 of file DeadArgumentElimination.cpp.
Convenience function that returns the number of return values It returns for void functions and for functions not returning a struct It returns the number of struct elements for functions returning a struct static unsigned numRetVals | ( | const Function * | F | ) |
Definition at line 338 of file DeadArgumentElimination.cpp.
Referenced by values().
STATISTIC | ( | NumArgumentsEliminated | , |
"Number of unread args removed" | |||
) |
STATISTIC | ( | NumArgumentsReplacedWithPoison | , |
"Number of unread args replaced with poison" | |||
) |
STATISTIC | ( | NumRetValsEliminated | , |
"Number of unused return values removed" | |||
) |
Definition at line 716 of file DeadArgumentElimination.cpp.
References I, RA, and llvm::DeadArgumentEliminationPass::Uses.
Referenced by llvm::SelectionDAG::getStackArgumentTokenFactor(), and llvm::PPCFunctionInfo::setUsesPICBase().
Mark the given return value or argument as live mark any values that are used by this value | ( | according to | Uses | ) |
Definition at line 699 of file DeadArgumentElimination.cpp.
References llvm::dbgs(), llvm::DeadArgumentEliminationPass::LiveValues, LLVM_DEBUG, and RA.
Mark the given Function as meaning that it cannot be changed in any way mark any values that are used as this function s parameters or by its return values | ( | according to | Uses | ) |
Definition at line 684 of file DeadArgumentElimination.cpp.
References llvm::DeadArgumentEliminationPass::createArg(), llvm::DeadArgumentEliminationPass::createRet(), llvm::dbgs(), F, llvm::DeadArgumentEliminationPass::LiveFunctions, LLVM_DEBUG, and numRetVals().
Referenced by llvm::DenseMapInfo< std::tuple< Ts... > >::getHashValue(), llvm::DenseMapInfo< std::tuple< Ts... > >::getHashValueImpl(), and llvm::support::endian::write_array().
Definition at line 683 of file DeadArgumentElimination.cpp.
Mark the given Function as alive |
Definition at line 682 of file DeadArgumentElimination.cpp.
Performs the initial survey of the specified function |
Definition at line 487 of file DeadArgumentElimination.cpp.
Referenced by llvm::pdb::DIARawSymbol::dump().
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one unsigned Idx |
Definition at line 352 of file DeadArgumentElimination.cpp.
Referenced by llvm::AbstractCallSite::AbstractCallSite(), llvm::slpvectorizer::BoUpSLP::ShuffleCostEstimator::add(), false::Chain::add(), llvm::slpvectorizer::BoUpSLP::ShuffleInstructionBuilder::add(), llvm::DwarfCompileUnit::addBaseTypeRef(), llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::DwarfExpression::addExpression(), llvm::CodeViewContext::addFile(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::dwarf_linker::parallel::DIEGenerator::addIndexedStringAttribute(), llvm::PressureDiffs::addInstruction(), llvm::MachineInstrBuilder::addJumpTableIndex(), llvm::DwarfExpression::addMachineReg(), addMask(), addOptionalImmOperand(), llvm::MachineInstrBuilder::addTargetIndex(), llvm::tlshoist::TLSCandidate::addUser(), llvm::consthoist::ConstantCandidate::addUser(), llvm::ConstraintSystem::addVariableRow(), llvm::slpvectorizer::BoUpSLP::ShuffleInstructionBuilder::adjustExtracts(), adjustForEndian(), llvm::RISCVTargetLowering::AdjustInstrPostInstrSelection(), llvm::analyzeContextInfo(), analyzeExitPHIsForOutputUses(), analyzeLoopUnrollCost(), llvm::CombinerHelper::applyCombineUnmergeConstant(), llvm::CombinerHelper::applyCombineUnmergeMergeToPlainValues(), llvm::CombinerHelper::applyCombineUnmergeZExtToZExt(), llvm::ARMAsmBackend::applyFixup(), llvm::CSKYAsmBackend::applyFixup(), llvm::MipsAsmBackend::applyFixup(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::BitcodeReaderValueList::assignValue(), llvm::LegalizerHelper::bitcastExtractVectorElt(), llvm::LegalizerHelper::bitcastInsertVectorElt(), llvm::MachineIRBuilder::buildConstantPool(), llvm::MachineIRBuilder::buildExtractSubvector(), llvm::MachineIRBuilder::buildExtractVectorElement(), llvm::MachineIRBuilder::buildExtractVectorElementConstant(), llvm::MachineIRBuilder::buildFrameIndex(), buildFromShuffleMostly(), buildIndexMap(), llvm::MachineIRBuilder::buildInsertSubvector(), llvm::MachineIRBuilder::buildInsertVectorElement(), buildIntrinsicArgTypes(), buildNew(), llvm::SIInstrInfo::buildShrunkInst(), buildUseMask(), BuildVectorFromScalar(), bundleHasArgument(), llvm::BuryPointer(), llvm::codelayout::calcExtTspScore(), llvm::calculateDbgEntityHistory(), llvm::ARMTargetLowering::canCombineStoreAndExtract(), canCreateUndefOrPoison(), llvm::SelectionDAG::canCreateUndefOrPoison(), CanMergeParamLoadStoresStartingAt(), canReplaceGEPIdxWithZero(), canScalarizeAccess(), llvm::slpvectorizer::BoUpSLP::canVectorizeLoads(), castBufferRsrcArgToV4I32(), castBufferRsrcFromV4I32(), llvm::MachineOperand::ChangeToFrameIndex(), llvm::MachineOperand::ChangeToTargetIndex(), TransferTracker::checkInstForNewValues(), llvm::LiveIntervals::checkRegMaskInterference(), clampDynamicVectorIndex(), llvm::X86InstrInfo::classifyLEAReg(), llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneBlockAttr(), llvm::dwarf_linker::parallel::CompileUnit::cloneDieAttrExpression(), collectConcatOps(), collectHWRegs(), collectInlineAsmInstrOperands(), collectMultiplyFactors(), CollectOpsToWiden(), combineAnd(), combineConcatVectorOps(), combineExtractFromVectorLoad(), combineExtractVectorElt(), combineExtractWithShuffle(), combineHorizOpWithShuffle(), combineMOVMSK(), combineOrders(), combineShuffleOfScalars(), combineShuffleOfSplatVal(), combineTargetShuffle(), combineVectorInsert(), combinevXi1ConstantToInteger(), combineX86ShuffleChain(), combineX86ShuffleChainWithExtract(), combineX86ShufflesRecursively(), llvm::ShuffleVectorInst::commuteShuffleMask(), llvm::IRSimilarity::IRSimilarityCandidate::compareCommutativeOperandMapping(), llvm::IRSimilarity::IRSimilarityCandidate::compareNonCommutativeOperandMapping(), CompareValueComplexity(), llvm::CompleteNodeLabelString(), llvm::BitTracker::MachineEvaluator::composeWithSubRegIndex(), llvm::HexagonEvaluator::composeWithSubRegIndex(), computeAlignmentAfterScalarization(), llvm::SelectionDAG::computeKnownBits(), llvm::ARMTargetLowering::computeKnownBitsForTargetNode(), llvm::X86TargetLowering::computeKnownBitsForTargetNode(), computeKnownBitsFromOperator(), llvm::GISelKnownBits::computeKnownBitsImpl(), computeKnownFPClass(), llvm::slpvectorizer::BoUpSLP::computeMinimumValueSizes(), llvm::SelectionDAG::ComputeNumSignBits(), llvm::RegisterClassInfo::computePSetLimit(), llvm::ConcurrentHashTableByPtr< KeyTy, KeyDataTy, AllocatorTy, Info >::ConcurrentHashTableByPtr(), constantFoldAndGroupOps(), llvm::ConstantFoldExtractElementInstruction(), llvm::ConstantFoldGetElementPtr(), llvm::ConstantFoldInsertElementInstruction(), llvm::ConstantFoldTerminator(), llvm::ConstantFoldVectorBinop(), constructDup(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::contains(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::contains(), llvm::DebugCounter::Chunk::contains(), llvm::MIRPrinter::convertStackObjects(), convertToString(), llvm::RISCVInstrInfo::convertToThreeAddress(), llvm::PPCInstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), copyPhysSubRegs(), llvm::XtensaConstantPoolMBB::Create(), llvm::XtensaConstantPoolJumpTable::Create(), llvm::ExtractElementInst::Create(), llvm::sandboxir::ExtractElementInst::create(), llvm::InsertElementInst::Create(), llvm::sandboxir::InsertElementInst::create(), createAndInsertBasicBlocks(), llvm::DeadArgumentEliminationPass::createArg(), llvm::IRBuilderBase::CreateConstGEP1_32(), llvm::IRBuilderBase::CreateConstGEP1_64(), llvm::IRBuilderBase::CreateConstInBoundsGEP1_32(), llvm::IRBuilderBase::CreateConstInBoundsGEP1_64(), llvm::MachineOperand::CreateCPI(), llvm::IRBuilderBase::CreateExtractElement(), llvm::IRBuilderBase::CreateExtractVector(), llvm::object::ELFFile< ELFT >::createFakeSections(), llvm::MachineOperand::CreateFI(), llvm::MatrixBuilder::CreateIndexAssumption(), llvm::IRBuilderBase::CreateInsertElement(), llvm::IRBuilderBase::CreateInsertVector(), llvm::mca::InstrBuilder::createInstruction(), llvm::MachineOperand::CreateJTI(), llvm::createPHIsForSplitLoopExit(), createRelLookupTable(), llvm::DeadArgumentEliminationPass::createRet(), llvm::pdb::DbiStreamBuilder::createSectionMap(), llvm::IRBuilderBase::CreateStructGEP(), createSwitchStatement(), llvm::MachineOperand::CreateTargetIndex(), createVariablePermute(), llvm::IRBuilderBase::CreateVectorSplice(), LiveDebugValues::DbgValue::DbgValue(), llvm::decodeBase64(), llvm::AMDGPU::decodeCustomOperand(), llvm::DecodeEXTRQIMask(), llvm::DecodeInsertElementMask(), llvm::DecodeINSERTQIMask(), LiveDebugValues::MLocTracker::defReg(), llvm::deleteDeadLoop(), detectShiftUntilLessThanIdiom(), llvm::DetermineUseCaptureKind(), llvm::ConnectedVNInfoEqClasses::Distribute(), LiveDebugValues::DbgValue::dump(), llvm::sandboxir::Tracker::dump(), dumpMachineInstrRangeWithSlotIndex(), dumpOrder(), llvm::DwarfDebug::emitDebugLocValue(), llvm::CodeViewContext::emitFileChecksumOffset(), llvm::WebAssemblyAsmPrinter::emitFunctionBodyStart(), emitIndirectDst(), emitIndirectSrc(), llvm::ARMAsmPrinter::emitInstruction(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitLoadM0FromVGPRLoop(), emitLoadScalarOpsFromVGPRLoop(), LiveDebugValues::MLocTracker::emitLoc(), llvm::XtensaAsmPrinter::emitMachineConstantPoolValue(), emitPseudoXVINSGR2VR(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), llvm::AMDGPU::encodeCustomOperand(), llvm::SplitEditor::enterIntvAfter(), llvm::SplitEditor::enterIntvBefore(), llvm::LegalizerHelper::equalizeVectorShuffleLengths(), llvm::XtensaConstantPoolJumpTable::equals(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::erase(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::erase(), llvm::DOTGraphTraits< DOTFuncInfo * >::eraseComment(), llvm::DOTGraphTraits< DOTMachineFuncInfo * >::eraseComment(), llvm::VPInterleaveRecipe::execute(), llvm::GIMatchTableExecutor::executeMatchTable(), expandFromPrimitiveShadowRecursive(), llvm::SIInstrInfo::expandPostRAPseudo(), expandSGPRCopy(), llvm::expandUser(), llvm::TargetLowering::expandVECTOR_COMPRESS(), llvm::LiveIntervals::extendToIndices(), llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), ExtractBitFromMaskVector(), llvm::extractProfTotalWeight(), llvm::fuzzerop::extractValueDescriptor(), llvm::FastISel::fastEmitInst_extractsubreg(), llvm::LegalizerHelper::fewerElementsVectorExtractInsertVectorElt(), llvm::LegalizerHelper::fewerElementsVectorReductions(), llvm::LegalizerHelper::fewerElementsVectorShuffle(), llvm::SchedDFSImpl::finalize(), llvm::gsym::GsymCreator::finalize(), llvm::PPCInstrInfo::finalizeInsInstrs(), llvm::pdb::GSIStreamBuilder::finalizeMsfLayout(), llvm::OnDiskChainedHashTable< Info >::find_hashed(), llvm::SparseBitVectorElement< ElementSize >::find_last(), findAffectedValues(), findBestInsertionSet(), findCanonNumsForPHI(), findCondCodeUseOperandIdxForBranchOrSelect(), findEltLoadSrc(), llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::findIndex(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::findIndex(), llvm::LiveRange::findIndexesLiveAt(), findInsertLocation(), findOrCreatePHIInBlock(), findPHIForConditionForwarding(), llvm::MachineInstr::findRegisterDefOperand(), llvm::MachineInstr::findRegisterUseOperand(), llvm::slpvectorizer::BoUpSLP::findReusedOrderedScalars(), llvm::LiveRange::FindSegmentContaining(), FindSequence(), llvm::SSAUpdaterImpl< UpdaterT >::FindSingularVal(), fixupOrderingIndices(), fixupPHINodeForNormalDest(), fixupPHINodeForUnwindDest(), fixupShuffleMaskForPermutedSToV(), llvm::BitVector::flip(), llvm::SmallBitVector::flip(), llvm::BinOpInit::Fold(), llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(), llvm::InstSimplifyFolder::FoldExtractElement(), llvm::TargetFolder::FoldExtractElement(), llvm::ConstantFolder::FoldExtractElement(), llvm::InstSimplifyFolder::FoldInsertElement(), llvm::TargetFolder::FoldInsertElement(), llvm::ConstantFolder::FoldInsertElement(), foldInsSequenceIntoSplat(), llvm::InstCombinerImpl::foldSelectICmp(), llvm::InformationCache::foreachUse(), llvm::ARMAsmBackendDarwin::generateCompactUnwindEncoding(), generateCreationChecks(), generateNewInstTree(), llvm::sandboxir::GenericSetterWithIdx< GetterFn, SetterFn >::GenericSetterWithIdx(), llvm::logicalview::LVProperties< T >::get(), llvm::rdf::IndexedSet< T, N >::get(), llvm::ScalarEvolution::getAddExpr(), llvm::sandboxir::Function::getArg(), llvm::sandboxir::FuncletPadInst::getArgOperand(), llvm::sandboxir::CallBase::getArgOperandUse(), llvm::CSKYMCCodeEmitter::getBareSymbolOpValue(), getBitcastWiderVectorElementOffset(), llvm::CSKYMCCodeEmitter::getBranchSymbolOpValue(), getBundledDefMI(), getBundledUseMI(), llvm::parallel::PerThreadAllocator< AllocatorTy >::getBytesAllocated(), llvm::CSKYMCCodeEmitter::getCallSymbolOpValue(), getCaseResults(), llvm::LandingPadInst::getClause(), llvm::MachineConstantPool::getConstantPoolIndex(), getConstMetaVal(), llvm::CSKYMCCodeEmitter::getConstpoolSymbolOpValue(), GetCostForDef(), llvm::TargetRegisterInfo::getCoveringSubRegIndexes(), getDagArgNoByKey(), llvm::CSKYMCCodeEmitter::getDataSymbolOpValue(), llvm::AMDGPU::getDefaultCustomOperandEncoding(), llvm::dwarf_linker::parallel::CompileUnit::getDIEInfo(), llvm::dwarf_linker::parallel::CompileUnit::getDieOutOffset(), llvm::dwarf_linker::parallel::CompileUnit::getDieTypeEntry(), getDominatees(), llvm::StructLayout::getElementOffset(), llvm::StructLayout::getElementOffsetInBits(), llvm::ConstantAggregateZero::getElementValue(), llvm::UndefValue::getElementValue(), llvm::PoisonValue::getElementValue(), llvm::GenericCycle< ContextT >::getExitBlocks(), llvm::ConstantExpr::getExtractElement(), llvm::PseudoSourceValueManager::getFixedStack(), llvm::PPCInstrInfo::getFMAPatterns(), getFPValueMapping(), llvm::SIRegisterInfo::getFrameIndexInstrOffset(), llvm::ARMBaseRegisterInfo::getFrameIndexInstrOffset(), llvm::RISCVRegisterInfo::getFrameIndexInstrOffset(), llvm::NVPTXTargetLowering::getFunctionArgumentAlignment(), llvm::gsym::GsymReader::getFunctionInfoAtIndex(), llvm::CodeViewContext::getFunctionLineEntries(), llvm::ConstantExpr::getGetElementPtr(), llvm::ValueEnumerator::getGlobalBasicBlockID(), getGVNForPHINode(), llvm::getHorizDemandedEltsForFirstOperand(), llvm::NVPTXMachineFunctionInfo::getImageHandleSymbol(), llvm::CSKYMCCodeEmitter::getImmJMPIX(), llvm::CSKYMCCodeEmitter::getImmOpValue(), llvm::CSKYMCCodeEmitter::getImmOpValueIDLY(), llvm::CSKYMCCodeEmitter::getImmOpValueMSBSize(), llvm::CSKYMCCodeEmitter::getImmShiftOpValue(), llvm::ConstantExpr::getInBoundsGetElementPtr(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_iterator::getIncomingBlock(), llvm::sandboxir::PHINode::getIncomingBlock(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_iterator::getIncomingValue(), llvm::sandboxir::PHINode::getIncomingValue(), llvm::VPBlendRecipe::getIncomingValue(), llvm::MemoryPhi::getIncomingValueForBlock(), llvm::PHINode::getIncomingValueForBlock(), llvm::sandboxir::PHINode::getIncomingValueNumForOperand(), llvm::XtensaConstantPoolJumpTable::getIndex(), llvm::DataLayout::getIndexedOffsetInType(), llvm::sandboxir::CallBrInst::getIndirectDest(), llvm::sandboxir::CallBrInst::getIndirectDestLabel(), llvm::sandboxir::CallBrInst::getIndirectDestLabelUse(), getIndirectSGPRIdx(), llvm::dwarf_linker::classic::CompileUnit::getInfo(), llvm::object::DirectX::PSVRuntimeInfo::getInputOutputMap(), llvm::ConstantExpr::getInsertElement(), llvm::HexagonBlockRanges::InstrIndexMap::getInstr(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), M68kDisassembler::getInstruction(), llvm::TargetTransformInfoImplCRTPBase< T >::getInstructionCost(), llvm::MemoryDepChecker::getInstructionsForAccess(), llvm::TargetTransformInfo::getIntImmCodeSizeCost(), llvm::TargetTransformInfo::getIntImmCostInst(), llvm::AArch64TTIImpl::getIntImmCostInst(), llvm::ARMTTIImpl::getIntImmCostInst(), llvm::PPCTTIImpl::getIntImmCostInst(), llvm::RISCVTTIImpl::getIntImmCostInst(), llvm::SystemZTTIImpl::getIntImmCostInst(), llvm::X86TTIImpl::getIntImmCostInst(), llvm::TargetTransformInfo::getIntImmCostIntrin(), llvm::AArch64TTIImpl::getIntImmCostIntrin(), llvm::PPCTTIImpl::getIntImmCostIntrin(), llvm::SystemZTTIImpl::getIntImmCostIntrin(), llvm::X86TTIImpl::getIntImmCostIntrin(), llvm::AArch64TTIImpl::getIntrinsicInstrCost(), getItineraryLatency(), llvm::AArch64FunctionInfo::getJumpTableEntryPCRelSymbol(), llvm::AArch64FunctionInfo::getJumpTableEntrySize(), llvm::getKnowledgeFromBundle(), llvm::getKnowledgeFromOperandInAssume(), llvm::AArch64InstrInfo::getLdStBaseOp(), llvm::AArch64InstrInfo::getLdStOffsetOp(), getLdStRegOp(), llvm::omp::getLeafConstructs(), llvm::omp::getLeafConstructsOrSelf(), llvm::TargetPassConfig::getLimitedCodeGenPipelineReason(), LiveDebugValues::MLocTracker::getLocID(), llvm::VPBlendRecipe::getMask(), llvm::ShuffleVectorSDNode::getMaskElt(), llvm::TargetRegisterInfo::getMatchingSuperRegClass(), llvm::SlotIndexes::getMBBLowerBound(), llvm::SlotIndexes::getMBBUpperBound(), llvm::MetadataLoader::getMetadataFwdRefOrLoad(), llvm::ScalarEvolution::getMinMaxExpr(), llvm::ReachingDefAnalysis::getMIOperand(), llvm::ScalarEvolution::getMulExpr(), llvm::SIInstrInfo::getNamedImmOperand(), llvm::SIInstrInfo::getNamedOperand(), llvm::AMDGPU::getNameFromOperandTable(), llvm::HexagonBlockRanges::InstrIndexMap::getNextIndex(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::getNodeInfo(), llvm::DOTGraphTraits< DOTFuncMSSAInfo * >::getNodeLabel(), getOffsetFromIndex(), getOffsetFromIndices(), llvm::CSKYMCCodeEmitter::getOImmOpValue(), llvm::mca::InstructionBase::getOperand(), llvm::DWARFExpression::Operation::getOperandEndOffset(), llvm::HexagonInstrInfo::getOperandLatency(), llvm::sandboxir::PHINode::getOperandNumForIncomingValue(), getOperandSize(), llvm::RegisterBankInfo::getOperandsMapping(), getOptionalVal(), llvm::MCContext::getOrCreateFrameAllocSymbol(), LiveDebugValues::MLocTracker::getOrTrackSpillLoc(), getOutputSegmentMap(), llvm::object::DirectX::PSVRuntimeInfo::getOutputVectorMasks(), llvm::NVPTXTargetLowering::getParamName(), llvm::HexagonTargetLowering::getPICJumpTableRelocBase(), llvm::Value::getPointerOffsetFrom(), llvm::HexagonBlockRanges::InstrIndexMap::getPrevIndex(), llvm::orc::LocalIndirectStubsInfo< ORCABI >::getPtr(), llvm::DWARFExpression::Operation::getRawOperand(), llvm::GenericMachineInstr::getReg(), llvm::MachineInstrBuilder::getReg(), llvm::FastISel::getRegForGEPIndex(), llvm::SITargetLowering::getRegForInlineAsmConstraint(), llvm::TargetRegisterInfo::getRegisterCosts(), llvm::SIRegisterInfo::getRegPressureSetLimit(), llvm::RegisterClassInfo::getRegPressureSetLimit(), llvm::CSKYMCCodeEmitter::getRegSeqImmOpValue(), llvm::slpvectorizer::BoUpSLP::getReorderingData(), getScalarValueForVectorElement(), llvm::WindowScheduler::getSearchIndexes(), llvm::LiveRange::getSegmentContaining(), llvm::object::MachOObjectFile::getSegmentContents(), llvm::ScalarEvolution::getSequentialMinMaxExpr(), getShuffleVectorZeroOrUndef(), LiveDebugValues::MLocTracker::getSpillIDWithIdx(), getSplatableConstant(), llvm::SelectionDAG::getSplatSourceVector(), getSToVPermuted(), llvm::orc::LocalIndirectStubsInfo< ORCABI >::getStub(), llvm::TargetRegisterInfo::getSubClassWithSubReg(), llvm::AArch64RegisterInfo::getSubClassWithSubReg(), llvm::X86RegisterInfo::getSubClassWithSubReg(), llvm::TargetRegisterInfo::getSubReg(), llvm::MCRegisterInfo::getSubReg(), llvm::TargetRegisterInfo::getSubRegIdxOffset(), llvm::TargetRegisterInfo::getSubRegIdxSize(), llvm::CatchSwitchInst::getSuccessor(), llvm::sandboxir::CallBrInst::getSuccessor(), llvm::sandboxir::CatchSwitchInst::getSuccessor(), llvm::sandboxir::SwitchInst::getSuccessor(), llvm::SuccIterator< InstructionT, BlockT >::getSuccessorIndex(), llvm::object::XCOFFObjectFile::getSymbolByIndex(), ParameterPack::getSyntaxNode(), getTargetShuffleAndZeroables(), llvm::parallel::PerThreadAllocator< AllocatorTy >::getTotalMemory(), llvm::slpvectorizer::BoUpSLP::getTreeCost(), llvm::StructType::getTypeAtIndex(), llvm::GetElementPtrInst::getTypeAtIndex(), getUnderlyingExtractedFromVec(), getUniqueInsertion(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, false >::getValue(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, true >::getValue(), getValueFromBundleOpInfo(), getValueFwdRef(), llvm::BitcodeReaderValueList::getValueFwdRef(), GetVBR(), llvm::LiveRange::getVNInfoAt(), llvm::LiveRange::getVNInfoBefore(), getVRBValueMapping(), llvm::object::MachOObjectFile::guessLibraryShortName(), llvm::CallLowering::handleAssignments(), llvm::DebugValueUser::handleChangedValue(), handleNormalInst(), handleRegMaskClobber(), llvm::DIExpression::hasAllLocationOps(), llvm::AMDGPU::hasAny64BitVGPROperands(), ParameterPack::hasArraySlow(), ParameterPack::hasFunctionSlow(), hashValueMapping(), LiveDebugValues::DbgValue::hasJoinableLocOps(), hasLiveThroughUse(), hasOnlyOneNonZeroIndex(), ParameterPack::hasRHSComponentSlow(), llvm::rdf::NodeAllocator::id(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::identifyObject(), llvm::detail::enumerator_result< std::size_t, Refs... >::index(), indexReallyValid(), llvm::dwarf::IndexString(), llvm::StructType::indexValid(), llvm::inFunctionScope(), llvm::TargetSchedModel::init(), INITIALIZE_PASS(), llvm::yaml::ScalarTraits< uuid_t >::input(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::insert(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::insert(), llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::insert(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::insert(), insert1BitVector(), InsertBitToMaskVector(), llvm::insertMultibyteShift(), llvm::SIInstrInfo::insertSelect(), insertUniqueBackedgeBlock(), llvm::fuzzerop::insertValueDescriptor(), llvm::GCNTTIImpl::instCombineIntrinsic(), llvm::PPCTTIImpl::instCombineIntrinsic(), llvm::X86TTIImpl::instCombineIntrinsic(), instCombineSVEDupqLane(), instCombineSVELast(), llvm::HexagonBlockRanges::InstrIndexMap::InstrIndexMap(), isBigEndian(), llvm::msf::MSFBuilder::isBlockFree(), llvm::SIInstrInfo::isBufferSMRD(), llvm::CallBase::isBundleOperand(), llvm::LandingPadInst::isCatch(), llvm::ShuffleVectorInst::isDeInterleaveMaskOfFactor(), isDeinterleavingMask(), IsElementEquivalent(), llvm::LandingPadInst::isFilter(), isFixedVectorShuffle(), isInterestingPHIIncomingValue(), isInterleavingMask(), isKnownNonZeroFromOperator(), llvm::ShuffleVectorInst::isOneUseSingleSourceMask(), llvm::CallBase::isOperandBundleOfType(), llvm::SplitAnalysis::isOriginalEndpoint(), isSafePHIToSpeculate(), isSimpleVIDSequence(), LiveDebugValues::MLocTracker::isSpill(), llvm::ShuffleVectorSDNode::isSplatMask(), llvm::SelectionDAG::isSplatValue(), llvm::AMDGPU::isSymbolicCustomOperandEncoding(), isUndef(), llvm::LiveRange::isUndefIn(), llvm::InlineAsm::Flag::isUseOperandTiedToDef(), isUZP_v_undef_Mask(), llvm::SuperRegClassIterator::isValid(), llvm::CodeViewContext::isValidFileNumber(), llvm::sandboxir::ExtractElementInst::isValidOperands(), llvm::sandboxir::InsertElementInst::isValidOperands(), isVUZP_v_undef_Mask(), isVZIP_v_undef_Mask(), isVZIPMask(), isZIP_v_undef_Mask(), llvm::isZIPMask(), llvm::SplitEditor::leaveIntvAfter(), llvm::SplitEditor::leaveIntvBefore(), llvm::SIInstrInfo::legalizeOperandsVOP3(), LLVMAddAttributeAtIndex(), LLVMAddCallSiteAttribute(), LLVMBuildStructGEP2(), LLVMGetAggregateElement(), LLVMGetAttributeCountAtIndex(), LLVMGetAttributesAtIndex(), LLVMGetCallBrIndirectDest(), LLVMGetCallSiteAttributeCount(), LLVMGetCallSiteAttributes(), LLVMGetCallSiteEnumAttribute(), LLVMGetCallSiteStringAttribute(), LLVMGetClause(), LLVMGetEnumAttributeAtIndex(), LLVMGetStringAttributeAtIndex(), LLVMGetTargetExtTypeIntParam(), LLVMGetTargetExtTypeTypeParam(), LLVMRemoveCallSiteEnumAttribute(), LLVMRemoveCallSiteStringAttribute(), LLVMRemoveEnumAttributeAtIndex(), LLVMRemoveStringAttributeAtIndex(), LLVMSetInstrParamAlignment(), llvm::coverage::CoverageMapping::load(), llvm::XtensaInstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), TransferTracker::loadInlocs(), loadM0FromVGPR(), llvm::OpenMPIRBuilder::loadOffloadInfoMetadata(), LiveDebugValues::MLocTracker::locIDToSpillIdx(), LiveDebugValues::MLocTracker::LocIdxToName(), llvm::Function::lookupIntrinsicID(), LowerBUILD_VECTORAsVariablePermute(), LowerBuildVectorOfFPExt(), LowerBuildVectorOfFPTrunc(), LowerCONCAT_VECTORSvXi1(), llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(), llvm::LegalizerHelper::lowerExtract(), llvm::VETargetLowering::lowerEXTRACT_VECTOR_ELT(), LowerEXTRACT_VECTOR_ELT_SSE4(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::X86CallLowering::lowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::LegalizerHelper::lowerInsert(), llvm::VETargetLowering::lowerINSERT_VECTOR_ELT(), llvm::AArch64TargetLowering::lowerInterleavedStore(), llvm::AArch64TargetLowering::lowerInterleaveIntrinsicToStore(), llvm::HexagonTargetLowering::LowerJumpTable(), lowerMSACopyIntr(), LowerMUL(), lowerShuffleAsBroadcast(), lowerShuffleAsRepeatedMaskAndLanePermute(), lowerShuffleAsSpecificZeroOrAnyExtend(), llvm::LegalizerHelper::lowerShuffleVector(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), lowerVECTOR_SHUFFLE(), lowerVECTOR_SHUFFLE_SHF(), lowerVECTOR_SHUFFLE_VSHF(), lowerVECTOR_SHUFFLE_VSHUF4I(), llvm::PatternMatch::m_ExtractElt(), llvm::PatternMatch::m_InsertElt(), llvm::SparcTargetLowering::makeAddress(), llvm::rdf::PhysicalRegisterInfo::mapTo(), llvm::dwarf_linker::classic::CompileUnit::markEverythingAsKept(), llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >::match_operands(), llvm::CombinerHelper::matchCombineFMinMaxNaN(), llvm::CombinerHelper::matchCombineShuffleVector(), llvm::CombinerHelper::matchCombineUnmergeConstant(), llvm::CombinerHelper::matchCombineUnmergeMergeToPlainValues(), llvm::CombinerHelper::matchCombineUnmergeUndef(), llvm::CombinerHelper::matchCombineUnmergeWithDeadLanesToTrunc(), llvm::CombinerHelper::matchExtractAllEltsFromBuildVector(), llvm::CombinerHelper::matchExtractVectorElementWithShuffleVector(), llvm::CombinerHelper::matchInsertExtractVecEltOutOfBounds(), matchScalarReduction(), matchShuffleAsEXTRQ(), matchShuffleAsINSERTQ(), matchSplatAsGather(), llvm::SIInstrInfo::materializeImmediate(), llvm::MCRegUnitMaskIterator::MCRegUnitMaskIterator(), LiveDebugValues::MLocTracker::MLocIterator::MLocIterator(), LiveDebugValues::MLocTracker::MLocTracker(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::moreElementsVectorShuffle(), llvm::SinkInstructionStrategy::mutate(), needsLFTR(), NextPossibleSolution(), llvm::Triple::normalize(), llvm::OperandBundleUse::operandHasAttr(), llvm::PackedVector< T, BitNum, BitVectorTy >::reference::operator T(), llvm::Module::debug_compile_units_iterator::operator!=(), llvm::HexagonBlockRanges::IndexType::operator!=(), llvm::orc::DumpObjects::operator()(), LiveDebugValues::MLocTracker::MLocIterator::operator*(), llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator*(), llvm::SuccIterator< InstructionT, BlockT >::operator*(), llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator++(), llvm::SuperRegClassIterator::operator++(), llvm::Module::debug_compile_units_iterator::operator++(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_iterator::operator++(), LiveDebugValues::MLocTracker::MLocIterator::operator++(), llvm::SuccIterator< InstructionT, BlockT >::operator+=(), llvm::SuccIterator< InstructionT, BlockT >::operator-(), llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator--(), llvm::Module::debug_compile_units_iterator::operator->(), llvm::SuccIterator< InstructionT, BlockT >::operator<(), StackAccess::operator<(), llvm::HexagonBlockRanges::IndexType::operator<(), llvm::operator<<(), llvm::HexagonBlockRanges::IndexType::operator<=(), llvm::PackedVector< T, BitNum, BitVectorTy >::reference::operator=(), llvm::Module::debug_compile_units_iterator::operator==(), llvm::SparseMultiSet< ValueT, KeyFunctorT, SparseT >::iterator_base< SMSPtrTy >::operator==(), LiveDebugValues::MLocTracker::MLocIterator::operator==(), llvm::SSAUpdaterTraits< LDVSSAUpdater >::PHI_iterator::operator==(), llvm::SuccIterator< InstructionT, BlockT >::operator==(), llvm::HexagonBlockRanges::IndexType::operator==(), llvm::LazyCallGraph::RefSCC::operator[](), NodeArray::operator[](), llvm::BitVector::operator[](), llvm::PackedVector< T, BitNum, BitVectorTy >::operator[](), llvm::SmallBitVector::operator[](), llvm::PressureDiffs::operator[](), llvm::TypeFinder::operator[](), llvm::LiveIntervalUnion::Array::operator[](), llvm::User::OpFrom(), optimizeSection(), llvm::SystemZELFFrameLowering::orderFrameObjects(), outputHasNonPHI(), llvm::RISCVISAInfo::parseArchString(), llvm::AMDGPU::AMDGPUMCKernelCodeT::ParseKernelCodeT(), llvm::MetadataLoader::MetadataLoaderImpl::parseMetadataAttachment(), llvm::RISCVISAInfo::parseNormalizedArchString(), llvm::MCSectionMachO::ParseSectionSpecifier(), PerformARMBUILD_VECTORCombine(), performCopyPropagation(), PerformExtractEltCombine(), performExtractsShuffleAction(), performLastTrueTestVectorCombine(), llvm::ARMTargetLowering::PerformMVEExtCombine(), llvm::SystemZInstrInfo::prepareCompareSwapOperands(), llvm::gsym::GsymCreator::prepareMergedFunctions(), llvm::LiveIntervals::print(), llvm::RegisterBankInfo::OperandsMapper::print(), llvm::rdf::PhysicalRegisterInfo::print(), llvm::SDNode::print_details(), printFailMsgforFold(), llvm::printJumpTableEntryReference(), ParameterPack::printLeft(), llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >::printPipeline(), llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::printPipeline(), ParameterPack::printRight(), llvm::ConcurrentHashTableByPtr< KeyTy, KeyDataTy, AllocatorTy, Info >::printStatistic(), llvm::parallel::PerThreadAllocator< AllocatorTy >::PrintStats(), NodeArray::printWithComma(), llvm::AlignmentFromAssumptionsPass::processAssumption(), ProcessElementList(), llvm::processShuffleMasks(), promoteAllocaUserToVector(), llvm::LiveRange::Query(), readMemprof(), LiveDebugValues::MLocTracker::readReg(), llvm::sampleprof::SampleProfileReaderBinary::readSampleContextFromTable(), llvm::sampleprof::SampleProfileReaderExtBinaryBase::readSecHdrTableEntry(), llvm::pdb::readSparseBitVector(), llvm::sampleprof::SampleProfileReaderBinary::readStringFromTable(), llvm::sampleprof::SampleProfileReaderBinary::readStringIndex(), llvm::TargetInstrInfo::reassociateOps(), llvm::BuildVectorSDNode::recastRawBits(), llvm::LiveVariables::recomputeForSingleDefVirtReg(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::BitVector::reference::reference(), llvm::PackedVector< T, BitNum, BitVectorTy >::reference::reference(), llvm::RegisterBankInfo::RegisterBankInfo(), llvm::SchedBoundary::releaseNode(), llvm::orc::MachOBuilder< MachOTraits >::RelocTarget::RelocTarget(), rematerializeCheapDef(), llvm::dwarf_linker::parallel::CompileUnit::rememberDieOutOffset(), removeEmptyCleanup(), llvm::PHINode::removeIncomingValue(), llvm::sandboxir::PHINode::removeIncomingValue(), llvm::sandboxir::PHINode::removeIncomingValueIf(), llvm::PHINode::removeIncomingValueIf(), llvm::LazyCallGraph::RefSCC::removeInternalRefEdges(), llvm::MachineJumpTableInfo::RemoveJumpTable(), llvm::SIInstrInfo::removeModOperands(), removeSwitchAfterSelectFold(), llvm::slpvectorizer::BoUpSLP::reorderBottomToTop(), llvm::slpvectorizer::BoUpSLP::reorderTopToBottom(), ReorganizeVector(), llvm::RegBankSelect::repairReg(), replaceAndRecursivelySimplifyImpl(), replaceFallthroughCoroEnd(), replaceGEPIdxWithZero(), llvm::sandboxir::PHINode::replaceIncomingBlockWith(), llvm::MachineJumpTableInfo::ReplaceMBBInJumpTable(), llvm::RISCVTargetLowering::ReplaceNodeResults(), replacePhiSrc(), llvm::Instruction::replaceSuccessorWith(), replaceTargetsFromPHINode(), llvm::DbgVariableRecord::replaceVariableLocationOp(), llvm::DbgVariableIntrinsic::replaceVariableLocationOp(), llvm::parallel::PerThreadAllocator< AllocatorTy >::Reset(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::reset(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::reset(), llvm::logicalview::LVProperties< T >::reset(), llvm::BitVector::reset(), llvm::SmallBitVector::reset(), llvm::SparseBitVectorElement< ElementSize >::reset(), llvm::SparseBitVector< ElementSize >::reset(), llvm::DebugValueUser::resetDebugValue(), AbstractManglingParser< Derived, Alloc >::resolveForwardTemplateRefs(), llvm::RuntimeDyldImpl::resolveLocalRelocations(), returnEdge(), llvm::sandboxir::PHIRemoveIncoming::revert(), llvm::sandboxir::GenericSetterWithIdx< GetterFn, SetterFn >::revert(), llvm::StringRef::rsplit(), llvm::WindowScheduler::run(), llvm::AlignmentFromAssumptionsPass::runImpl(), scalarize(), scalarizeMaskedCompressStore(), scalarizeMaskedExpandLoad(), scalarizeMaskedGather(), scalarizeMaskedLoad(), scalarizeMaskedScatter(), scalarizeMaskedStore(), scalarizeMaskedVectorHistogram(), llvm::TargetLowering::scalarizeVectorLoad(), llvm::TargetLowering::scalarizeVectorStore(), llvm::RISCVDAGToDAGISel::Select(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::HexagonDAGToDAGISel::SelectExtractSubvector(), llvm::HvxSelector::selectExtractSubvector(), llvm::FastISel::selectGetElementPtr(), llvm::SplitEditor::selectIntv(), llvm::HvxSelector::selectShuffle(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::set(), llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::set(), llvm::logicalview::LVProperties< T >::set(), llvm::BitVector::set(), llvm::SmallBitVector::set(), llvm::SparseBitVectorElement< ElementSize >::set(), llvm::SparseBitVector< ElementSize >::set(), llvm::sandboxir::FuncletPadInst::setArgOperand(), llvm::PPCFunctionInfo::setBasePointerSaveIndex(), LiveDebugValues::DbgValue::setDbgOpIDs(), llvm::dwarf_linker::parallel::CompileUnit::setDieTypeEntry(), llvm::PPCFunctionInfo::setFramePointerSaveIndex(), llvm::SystemZMachineFunctionInfo::setFramePointerSaveIndex(), llvm::R600InstrInfo::setImmOperand(), llvm::sandboxir::PHINode::setIncomingBlock(), llvm::sandboxir::PHINode::setIncomingValue(), llvm::mca::MCAOperand::setIndex(), llvm::MachineOperand::setIndex(), llvm::sandboxir::CallBrInst::setIndirectDest(), llvm::AArch64FunctionInfo::setJumpTableEntryInfo(), false::Chain::setKill(), llvm::SuffixTreeNode::setLeftLeafIdx(), setM0ToIndexFromSGPR(), llvm::IRSimilarity::IRInstructionData::setPHIPredecessors(), llvm::PPCFunctionInfo::setPICBasePointerSaveIndex(), llvm::parallel::PerThreadAllocator< AllocatorTy >::setRedZoneSize(), LiveDebugValues::MLocTracker::setReg(), llvm::X86MachineFunctionInfo::setRegSaveFrameIndex(), llvm::SuffixTreeNode::setRightLeafIdx(), llvm::PPCFunctionInfo::setROPProtectionHashSaveIndex(), llvm::DWARFDebugInfoEntry::setSiblingIdx(), llvm::msf::MSFBuilder::setStreamSize(), llvm::CatchSwitchInst::setSuccessor(), llvm::sandboxir::BranchInst::setSuccessor(), llvm::sandboxir::CatchSwitchInst::setSuccessor(), llvm::sandboxir::SwitchInst::setSuccessor(), llvm::SuffixTreeLeafNode::setSuffixIdx(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, false >::setValue(), llvm::PackedVectorBase< T, BitNum, BitVectorTy, true >::setValue(), llvm::AVRMachineFunctionInfo::setVarArgsFrameIndex(), llvm::X86MachineFunctionInfo::setVarArgsFrameIndex(), llvm::AArch64FunctionInfo::setVGIdx(), shortBundleName(), llvm::pdb::shouldDumpSymbolGroup(), llvm::SITargetLowering::shouldExpandVectorDynExt(), llvm::AArch64TargetLowering::shouldSinkOperands(), llvm::TailDuplicator::shouldTailDuplicate(), shouldTryInjectBasingOnMetadata(), llvm::LiveIntervals::shrinkToUses(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::X86TargetLowering::SimplifyDemandedBitsForTargetNode(), llvm::TargetLowering::SimplifyDemandedVectorElts(), llvm::InstCombinerImpl::SimplifyDemandedVectorElts(), llvm::X86TTIImpl::simplifyDemandedVectorEltsIntrinsic(), llvm::simplifyExtractElementInst(), simplifyExtractElementInst(), simplifyGEPInst(), llvm::simplifyInsertElementInst(), simplifyIntrinsic(), llvm::simplifyLoop(), llvm::TargetLowering::SimplifyMultipleUseDemandedBits(), simplifyReductionOperand(), simplifyX86varShift(), sinkCommonCodeFromPredecessors(), llvm::SIRegisterInfo::SIRegisterInfo(), slotForIndex(), llvm::sortPtrAccesses(), llvm::SparseBitVectorElement< ElementSize >::SparseBitVectorElement(), speculatePHINodeLoads(), llvm::StringRef::split(), splitAsyncCoroutine(), llvm::SplitBlockAndInsertForEachLane(), llvm::SplitEditor::splitLiveThroughBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), SubIdx2Lane(), llvm::SuccIterator< InstructionT, BlockT >::SuccIterator(), llvm::SuperRegClassIterator::SuperRegClassIterator(), llvm::Instruction::swapProfMetadata(), llvm::LazyCallGraph::RefSCC::switchInternalEdgeToRef(), switchToLookupTable(), llvm::BTFParser::symbolize(), targetParallelCallback(), llvm::BitVector::test(), llvm::SmallBitVector::test(), llvm::SparseBitVectorElement< ElementSize >::test(), llvm::SparseBitVector< ElementSize >::test(), llvm::StackLifetime::LiveRange::test(), llvm::SparseBitVectorElement< ElementSize >::test_and_set(), llvm::SparseBitVector< ElementSize >::test_and_set(), llvm::rdf::RegisterRef::toUnitId(), llvm::DbgValueHistoryMap::trimLocationRanges(), llvm::VPlanTransforms::truncateToMinimalBitwidths(), llvm::LegalizationArtifactCombiner::tryCombineUnmergeValues(), tryCombineWhileLo(), llvm::LegalizationArtifactCombiner::tryFoldUnmergeCast(), trySequenceOfOnes(), tryToreplicateChunks(), llvm::coverage::mcdc::TVIdxBuilder::TVIdxBuilder(), llvm::JumpThreadingPass::unfoldSelectInstr(), llvm::UnrollLoop(), llvm::DominatorTreeBase< NodeT, IsPostDom >::updateBlockNumbers(), updateBranchWeights(), updateImm(), updateOperand(), updateOperandRegConstraints(), UpdatePHINodes(), llvm::UpgradeIntrinsicCall(), upgradeX86ALIGNIntrinsics(), upgradeX86IntrinsicFunction(), upgradeX86PSLLDQIntrinsics(), upgradeX86PSRLDQIntrinsics(), ValidateMVEStore(), llvm::slpvectorizer::BoUpSLP::vectorizeTree(), llvm::RegisterBankInfo::InstructionMapping::verify(), llvm::RegisterBankInfo::verify(), llvm::gsym::DwarfTransformer::verify(), llvm::misexpect::verifyMisExpect(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitExtractElementInst(), llvm::InstCombinerImpl::visitExtractValueInst(), llvm::InstCombinerImpl::visitGEPOfGEP(), llvm::InstCombinerImpl::visitShuffleVectorInst(), LiveDebugValues::MLocTracker::wipeRegister(), llvm::SparseBitVectorElement< ElementSize >::word(), llvm::raw_ostream::write_uuid(), llvm::pdb::writeSparseBitVector(), and llvm::ConcurrentHashTableByPtr< KeyTy, KeyDataTy, AllocatorTy, Info >::~ConcurrentHashTableByPtr().
Definition at line 363 of file DeadArgumentElimination.cpp.
Referenced by findBasePointers().
Looks at all the uses of the given value Returns the Liveness deduced from the uses of this value Adds all uses that cause the result to be MaybeLive to MaybeLiveRetUses If the result is Live |
Definition at line 471 of file DeadArgumentElimination.cpp.
Referenced by checkBasicSSA(), getDecodedGVSummaryFlags(), insertParsePoints(), isLRAvailable(), relocationViaAlloca(), llvm::rdf::Liveness::resetKills(), and llvm::GlobalValueSummary::setLive().
Marks the liveness of RA depending on L If L is MaybeLive |
Definition at line 657 of file DeadArgumentElimination.cpp.
Looks at a single use of an argument or return value and determines if it should be alive or not Adds this use to MaybeLiveUses if it causes the used value to become MaybeLive RetValNum is the return value number to use when this use is used in a return instruction This is used in the recursion |
Definition at line 383 of file DeadArgumentElimination.cpp.
return RetTy |
Definition at line 360 of file DeadArgumentElimination.cpp.
Referenced by llvm::MipsCCState::AnalyzeCallResult(), convertStrToInt(), llvm::LandingPadInst::Create(), createAtomicLibcall(), llvm::DIBuilder::createForwardDecl(), llvm::RandomIRBuilder::createFunctionDefinition(), llvm::VFABI::createFunctionType(), llvm::IRBuilderBase::CreateIntrinsic(), llvm::dxil::DXILOpBuilder::createOp(), llvm::DIBuilder::createReplaceableCompositeType(), createRetBitCast(), doPromotion(), llvm::AArch64SelectionDAGInfo::EmitStreamingCompatibleMemLibCall(), fixFunctionTypeIfPtrArgs(), llvm::InstSimplifyFolder::FoldShuffleVector(), llvm::generateImageSizeQueryInst(), llvm::TargetLoweringBase::getBitWidthForCttzElements(), llvm::HexagonTTIImpl::getCallInstrCost(), llvm::TargetTransformInfo::getCallInstrCost(), getFunctionReturns(), llvm::LoopVectorizationCostModel::getInstructionCost(), llvm::BasicTTIImplBase< T >::getIntrinsicInstrCost(), llvm::AArch64TTIImpl::getIntrinsicInstrCost(), llvm::GCNTTIImpl::getIntrinsicInstrCost(), llvm::ARMTTIImpl::getIntrinsicInstrCost(), llvm::RISCVTTIImpl::getIntrinsicInstrCost(), llvm::X86TTIImpl::getIntrinsicInstrCost(), getOrCreateFunction(), getOriginalFunctionType(), llvm::Module::getOrInsertFunction(), llvm::getOrInsertLibFunc(), llvm::CallLowering::getReturnInfo(), llvm::IntrinsicCostAttributes::getReturnType(), llvm::BasicTTIImplBase< T >::getScalarizationOverhead(), llvm::AArch64TargetLowering::getTgtMemIntrinsic(), llvm::BasicTTIImplBase< T >::getTypeBasedIntrinsicInstrCost(), llvm::LoopVectorizationCostModel::getVectorCallCost(), llvm::LoopVectorizationCostModel::getVectorIntrinsicCost(), getVectorIntrinsicInstrCost(), llvm::CallLowering::insertSRetLoads(), llvm::CallLowering::insertSRetOutgoingArgument(), llvm::CallLowering::insertSRetStores(), instCombineSVEDupX(), instCombineSVENoActiveUnaryZero(), instCombineSVEUnpack(), instCombineSVEUzp1(), llvm::FunctionType::isValidReturnType(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), llvm::NVPTXTargetLowering::LowerCall(), llvm::FastISel::lowerCall(), llvm::CallLowering::lowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::FastISel::lowerCallTo(), llvm::VETargetLowering::lowerDYNAMIC_STACKALLOC(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), llvm::SPIRVCallLowering::lowerFormalArguments(), LowerFSINCOS(), llvm::NVPTXTargetLowering::LowerReturn(), llvm::SelectionDAGBuilder::LowerStatepoint(), llvm::SystemZTargetLowering::makeExternalCall(), llvm::TargetLowering::makeLibCall(), numRetVals(), PerformVECREDUCE_ADDCombine(), llvm::MipsCCState::PreAnalyzeCallResult(), ReplaceCallWith(), replaceFallthroughCoroEnd(), llvm::MCJIT::runFunction(), llvm::LoopVectorizationCostModel::setVectorizedCallDecision(), simplifyFCmpInst(), simplifyIntrinsic(), llvm::simplifyShuffleVectorInst(), simplifyShuffleVectorInst(), simplifyX86addcarry(), splitRetconCoroutine(), llvm::toTypedFunPointer(), llvm::dxil::DXILOpBuilder::tryCreateOp(), upgradeAMDGCNIntrinsicCall(), llvm::UpgradeIntrinsicCall(), llvm::InstCombinerImpl::visitCallInst(), and llvm::Interpreter::visitReturnInst().
Marks the liveness of RA depending on L If L is it also takes all uses in MaybeLiveUses and records them in Uses |
Definition at line 658 of file DeadArgumentElimination.cpp.
Definition at line 715 of file DeadArgumentElimination.cpp.
Referenced by AddNodeIDCustom(), llvm::detail::all_of_zip_predicate_last(), llvm::applyPPCha(), llvm::applyPPChi(), llvm::applyPPChigher(), llvm::applyPPChighera(), llvm::applyPPChighest(), llvm::applyPPChighesta(), llvm::applyPPClo(), llvm::json::OStream::attribute(), buildFrameDebugInfo(), llvm::support::endian::byte_swap(), dofwd(), llvm::pdb::DIARawSymbol::dump(), llvm::OptimizationRemarkEmitter::emit(), llvm::BCGenericRecordLayout< IDField, Fields >::emitRecord(), llvm::yaml::ScalarEnumerationTraits< MachO::BindOpcode >::enumeration(), llvm::yaml::ScalarEnumerationTraits< MachO::LoadCommandType >::enumeration(), llvm::yaml::ScalarEnumerationTraits< MachO::RebaseOpcode >::enumeration(), llvm::yaml::ScalarEnumerationTraits< TypeTestResolution::Kind >::enumeration(), llvm::yaml::ScalarEnumerationTraits< WholeProgramDevirtResolution::ByArg::Kind >::enumeration(), llvm::yaml::ScalarEnumerationTraits< WholeProgramDevirtResolution::Kind >::enumeration(), llvm::hashing::detail::get_hashable_data(), getExecutionModel(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getHSAKernelProps(), GetOptionalAbsDifference(), getSystemRegistryString(), llvm::DataLayout::getTypeAllocSize(), llvm::ImutAVLTree< ImutInfo >::getValue(), llvm::X86FrameLowering::getWin64EHFrameIndexRef(), llvm::hash_code::hash_code(), llvm::hashing::detail::hash_integer_value(), llvm::hash_value(), llvm::detail::IEEEFloat::IEEEFloat(), llvm::cl::list_storage< DataType, bool >::insert(), llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::insertFrom(), llvm::ELFAttributeParser::integerAttribute(), llvm::sys::path::is_separator(), llvm::msf::MSFError::isPageOverflow(), llvm::CastInfoPointerUnionImpl< PTs >::isPossible(), llvm::AArch64_AM::isSVEAddSubImm(), llvm::jitTargetAddressToFunction(), LLVMSetArgOperand(), llvm::MCPseudoProbeInlineTreeBase< ProbeType, DerivedProbeInlineTreeType >::MCPseudoProbeInlineTreeBase(), llvm::hash_code::operator size_t(), llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::operator*(), llvm::gsym::OutputAggregator::operator<<(), p_b_symbol(), llvm::ELFAttributeParser::parseIndexList(), parseInt(), llvm::ELFAttributeParser::parseStringAttribute(), llvm::GenericUniformityAnalysisImpl< ContextT >::print(), llvm::ELFAttributeParser::printAttribute(), FloatLiteralImpl< Float >::printLeft(), llvm::cl::list_storage< DataType, bool >::push_back(), llvm::readExponent(), llvm::BCGenericRecordLayout< IDField, Fields >::readRecord(), llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::safeLookup(), llvm::ELFAttributeParser::setAttributeString(), llvm::ARCFunctionInfo::setReturnStackOffset(), llvm::XCoreFunctionInfo::setReturnStackOffset(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStart(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStop(), llvm::hashing::detail::store_and_advance(), llvm::object::detail::swapBytes(), llvm::totalExponent(), llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::unsafeValue(), llvm::json::OStream::value(), llvm::support::endian::write(), llvm::support::endian::write< double >(), llvm::support::endian::write< float >(), llvm::support::endian::write_array(), llvm::support::endian::writeAtBitAlignment(), llvm::support::endian::writeNext(), and llvm::writeSignedDecimal().