LLVM 22.0.0git
|
#include "NVPTX.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "nvptx-prolog-epilog" |
Functions | |
INITIALIZE_PASS (NVPTXPrologEpilogPass, DEBUG_TYPE, "NVPTX Prologue/Epilogue Insertion", false, false) static bool replaceFrameIndexDebugInstr(MachineFunction &MF | |
if (MI.isDebugValue()) | |
static void | AdjustStackOffset (MachineFrameInfo &MFI, int FrameIdx, bool StackGrowsDown, int64_t &Offset, Align &MaxAlign) |
AdjustStackOffset - Helper function used to adjust the stack frame offset. |
Variables | |
MachineInstr & | MI |
MachineInstr unsigned | OpIdx |
const TargetRegisterInfo & | TRI = *MF.getSubtarget().getRegisterInfo() |
return | false |
#define DEBUG_TYPE "nvptx-prolog-epilog" |
Definition at line 29 of file NVPTXPrologEpilogPass.cpp.
|
inlinestatic |
AdjustStackOffset - Helper function used to adjust the stack frame offset.
Definition at line 135 of file NVPTXPrologEpilogPass.cpp.
References llvm::alignTo(), llvm::dbgs(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), LLVM_DEBUG, llvm::Offset, and llvm::MachineFrameInfo::setObjectOffset().
if | ( | MI. | isDebugValue() | ) |
Definition at line 59 of file NVPTXPrologEpilogPass.cpp.
References MI.
INITIALIZE_PASS | ( | NVPTXPrologEpilogPass | , |
DEBUG_TYPE | , | ||
"NVPTX Prologue/Epilogue Insertion" | , | ||
false | , | ||
false | ) & |
References DEBUG_TYPE.
return false |
Definition at line 87 of file NVPTXPrologEpilogPass.cpp.
MachineInstr& MI |
Definition at line 55 of file NVPTXPrologEpilogPass.cpp.
MachineInstr unsigned OpIdx |
Definition at line 56 of file NVPTXPrologEpilogPass.cpp.
Referenced by llvm::CallLowering::addArgFlagsFromAttributes(), llvm::AMDGPURegisterBankInfo::addMappingFromTable(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterKilled(), llvm::ScheduleDAGInstrs::addSchedBarrierDeps(), llvm::SystemZTTIImpl::adjustInliningThreshold(), llvm::RegisterBankInfo::applyDefaultMapping(), llvm::RegBankSelect::applyMapping(), llvm::PatternMatch::Argument_match< Opnd_t >::Argument_match(), llvm::VPlanPatternMatch::Argument_match< Opnd_t >::Argument_match(), llvm::LegalizerHelper::bitcastDst(), llvm::LegalizerHelper::bitcastSrc(), buildTreeReduction(), llvm::CallBase::bundleOperandHasAttr(), CanGenerateTest(), canNarrowLoad(), canonicalizePHIOperands(), canParameterizeCallOperand(), llvm::canReplaceOperandWithVariable(), llvm::MachineOperand::ChangeToDbgInstrRef(), checkBoolTestSetCCCombine(), checkOperandType(), llvm::sandboxir::SingleLLVMInstructionImpl< LLVMT >::CmpInst, collectInstructionDeps(), CollectOpsToWiden(), collectVOPModifiers(), combineBMILogicOp(), combineShuffleToZeroExtendVectorInReg(), combineX86ShufflesRecursively(), computeExprForSpill(), llvm::X86TargetLowering::computeKnownBitsForTargetNode(), llvm::RegBankSelect::computeMapping(), llvm::X86TargetLowering::ComputeNumSignBitsForTargetNode(), llvm::ScheduleDAGSDNodes::computeOperandLatency(), llvm::constrainOperandRegClass(), llvm::AMDGPURegisterBankInfo::constrainOpWithReadfirstlane(), llvm::sandboxir::ConstantInt::Context, llvm::sandboxir::NoCFIValue::Context, llvm::AMDGPUDisassembler::convertTrue16OpSel(), costAndCollectOperands(), llvm::MachineOperand::CreateDbgInstrRef(), llvm::ARMBaseInstrInfo::createMIROperandComment(), llvm::RISCVInstrInfo::createMIROperandComment(), llvm::TargetInstrInfo::createMIROperandComment(), CreateVPTBlock(), llvm::RegisterBankInfo::OperandsMapper::createVRegs(), doInsertBitcast(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::InstrEmitter::EmitDbgInstrRef(), llvm::SPIRVTargetLowering::enforcePtrTypeCompatibility(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::MachineInstr::findInlineAsmFlagIdx(), llvm::AMDGPU::RegBankLegalizeHelper::findRuleAndApplyMapping(), llvm::MachineInstr::findTiedOperandIdx(), fixI8UseChain(), llvm::ARMBaseInstrInfo::foldImmediate(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::InstCombinerImpl::foldPHIArgInsertValueInstructionIntoPHI(), GetArgMD(), llvm::sandboxir::CallBase::getArgOperand(), getBMIMatchingOp(), getBranchTargetOpValue(), llvm::CallBase::getBundleOpInfoForOperand(), llvm::CallBase::getBundleOpInfoForOperand(), llvm::PeelingModuloScheduleExpander::getEquivalentRegisterIn(), getInstReadLaneMask(), llvm::RegisterBankInfo::getInstrMappingImpl(), getNumOpRegs(), llvm::sandboxir::getOperand(), llvm::sandboxir::User::getOperand(), llvm::CallBase::getOperandBundleForOperand(), llvm::VPExpressionRecipe::getOperandOfResultType(), llvm::sandboxir::User::getOperandUse(), llvm::sandboxir::User::getOperandUseDefault(), llvm::sandboxir::Constant::getOperandUseInternal(), llvm::sandboxir::GlobalObject::getOperandUseInternal(), llvm::sandboxir::User::getOperandUseInternal(), getPointeeTypeByCallInst(), llvm::AArch64RegisterInfo::getRegAllocationHints(), llvm::RISCVRegisterInfo::getRegAllocationHints(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::RegisterBankInfo::getRegBankFromConstraints(), llvm::MachineInstr::getRegClassConstraint(), llvm::MachineInstr::getRegClassConstraintEffect(), llvm::TargetInstrInfo::getRegSequenceInputs(), getTypeFromTypeIdx(), llvm::MachineInstr::getTypeToPrint(), llvm::DbgValueInst::getValue(), llvm::DbgVariableRecord::getValue(), llvm::DbgVariableIntrinsic::getVariableLocationOp(), llvm::DbgVariableRecord::getVariableLocationOp(), llvm::RawLocationWrapper::getVariableLocationOp(), llvm::slpvectorizer::BoUpSLP::VLOperands::getVL(), llvm::RegisterBankInfo::OperandsMapper::getVRegs(), handleADRP(), hasAllNBitUsers(), hasAllNBitUsers(), llvm::MachineOperand::hash_value, hasSameNumEltsOnAllVectorOperands(), llvm::GCNTTIImpl::hoistLaneIntrinsicThroughOperand(), hoistMulAddAssociation(), ignoreOp(), llvm::MachineInstr::insert(), insertNamedMCOperand(), IsAGPROperand(), isCalleeOperand(), llvm::MachineInstr::isEquivalentDbgInstr(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isLegalRegOperand(), llvm::SIInstrInfo::isOperandLegal(), llvm::MachineInstr::isOperandSubregIdx(), llvm::ARMTTIImpl::isProfitableToSinkOperands(), llvm::RISCVTTIImpl::isProfitableToSinkOperands(), llvm::SIInstrInfo::legalizeOperandsVALUt16(), llvm::SIInstrInfo::legalizeOperandsVALUt16(), llvm::SIInstrInfo::legalizeOpWithMove(), LinearizeExprTree(), lowerBuildVectorOfConstants(), lowerBuildVectorViaDominantValues(), llvm::RISCVTargetLowering::LowerOperation(), lowerShuffleAsBroadcast(), llvm::SDPatternMatch::Operands_match< OpIdx, OpndPreds >::match(), llvm::SDPatternMatch::Operands_match< OpIdx, OpndPred, OpndPreds... >::match(), matchAliasCondition(), llvm::MCInstPrinter::matchAliasPatterns(), llvm::CombinerHelper::matchConstantSelectCmp(), llvm::CombinerHelper::matchOperandIsKnownToBeAPowerOfTwo(), llvm::CombinerHelper::matchOperandIsUndef(), llvm::CombinerHelper::matchOperandIsZero(), llvm::LegalizerHelper::moreElementsVectorDst(), llvm::LegalizerHelper::moreElementsVectorSrc(), llvm::LegalizerHelper::narrowScalar(), llvm::LegalizerHelper::narrowScalarDst(), llvm::LegalizerHelper::narrowScalarSrc(), llvm::SDPatternMatch::Operands_match< OpIdx, OpndPred, OpndPreds... >::Operands_match(), llvm::AMDGPUMIRFormatter::parseImmMnemonic(), llvm::MIRFormatter::parseImmMnemonic(), partitionShuffleOfConcats(), llvm::MachineInstr::print(), llvm::MachineOperand::print(), llvm::RegisterBankInfo::InstructionMapping::print(), llvm::VPInterleaveEVLRecipe::print(), llvm::VPInterleaveRecipe::print(), llvm::WebAssemblyInstPrinter::printCatchList(), llvm::AArch64AppleInstPrinter::printCustomAliasOperand(), llvm::AArch64InstPrinter::printCustomAliasOperand(), llvm::ARMInstPrinter::printCustomAliasOperand(), llvm::CSKYInstPrinter::printCustomAliasOperand(), llvm::LanaiInstPrinter::printCustomAliasOperand(), llvm::LoongArchInstPrinter::printCustomAliasOperand(), llvm::M68kInstPrinter::printCustomAliasOperand(), llvm::MipsInstPrinter::printCustomAliasOperand(), llvm::MSP430InstPrinter::printCustomAliasOperand(), llvm::PPCInstPrinter::printCustomAliasOperand(), llvm::RISCVInstPrinter::printCustomAliasOperand(), llvm::SparcInstPrinter::printCustomAliasOperand(), llvm::X86ATTInstPrinter::printCustomAliasOperand(), llvm::X86IntelInstPrinter::printCustomAliasOperand(), llvm::AMDGPUMIRFormatter::printImm(), llvm::MIRFormatter::printImm(), llvm::WebAssemblyInstPrinter::printInst(), printMIOperand(), reinsertVectorIndexAdd(), llvm::slpvectorizer::BoUpSLP::VLOperands::reorder(), replaceOperandIfSame(), llvm::CombinerHelper::replaceSingleDefInstWithOperand(), llvm::sandboxir::User::replaceUsesOfWith(), llvm::DbgVariableIntrinsic::replaceVariableLocationOp(), llvm::DbgVariableRecord::replaceVariableLocationOp(), replaceWithIndirectUse(), replacingOperandWithVariableIsCheap(), llvm::CallLowering::setArgFlags(), llvm::sandboxir::CallBase::setArgOperand(), llvm::MachineOperand::setInstrRefOpIndex(), llvm::MachineInstrBuilder::setOperandDead(), llvm::RegisterBankInfo::OperandsMapper::setVRegs(), shouldConvertUse(), llvm::X86TargetLowering::SimplifyMultipleUseDemandedBitsForTargetNode(), simplifySVEIntrinsic(), splitEdge(), STATISTIC(), substituteSimpleCopyRegs(), tryChangeVGPRtoSGPRinCopy(), llvm::MachineInstr::untieRegOperand(), updateOperandIfDifferent(), UpdateOperandRegClass(), llvm::SIInstrInfo::usesConstantBus(), validateFunCallMachineDef(), validateGroupWaitEventsPtr(), validatePtrTypes(), validatePtrUnwrapStructField(), llvm::RISCVInstrInfo::verifyInstruction(), llvm::SIInstrInfo::verifyInstruction(), llvm::SDNodeInfo::verifyNode(), llvm::LegalizerHelper::widenScalarDst(), llvm::LegalizerHelper::widenScalarSrc(), and llvm::AMDGPUMIRFormatter::~AMDGPUMIRFormatter().
const TargetRegisterInfo& TRI = *MF.getSubtarget().getRegisterInfo() |
Definition at line 58 of file NVPTXPrologEpilogPass.cpp.