LLVM 22.0.0git
Macros | Functions | Variables
NVPTXPrologEpilogPass.cpp File Reference
#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

MachineInstrMI
 
MachineInstr unsigned OpIdx
 
const TargetRegisterInfoTRI = *MF.getSubtarget().getRegisterInfo()
 
return false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "nvptx-prolog-epilog"

Definition at line 29 of file NVPTXPrologEpilogPass.cpp.

Function Documentation

◆ AdjustStackOffset()

static void AdjustStackOffset ( MachineFrameInfo MFI,
int  FrameIdx,
bool  StackGrowsDown,
int64_t &  Offset,
Align MaxAlign 
)
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()

if ( MI.  isDebugValue())

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( NVPTXPrologEpilogPass  ,
DEBUG_TYPE  ,
"NVPTX Prologue/Epilogue Insertion"  ,
false  ,
false   
) &

Variable Documentation

◆ false

return false

Definition at line 87 of file NVPTXPrologEpilogPass.cpp.

◆ MI

Definition at line 55 of file NVPTXPrologEpilogPass.cpp.

Referenced by if().

◆ OpIdx

Initial value:
{
const TargetFrameLowering *TFI = MF.getSubtarget().getFrameLowering()
Information about stack frame layout on the target.
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/llvm/include/llvm/Transforms/Utils/Local.h.

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::LegalizerHelper::bitcastDst(), llvm::LegalizerHelper::bitcastSrc(), buildTreeReduction(), llvm::CallBase::bundleOperandHasAttr(), CanGenerateTest(), canNarrowLoad(), canonicalizePHIOperands(), canParameterizeCallOperand(), llvm::canReplaceOperandWithVariable(), llvm::MachineOperand::ChangeToDbgInstrRef(), checkBoolTestSetCCCombine(), checkOperandType(), 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::AMDGPUDisassembler::convertTrue16OpSel(), costAndCollectOperands(), llvm::MachineOperand::CreateDbgInstrRef(), llvm::TargetInstrInfo::createMIROperandComment(), llvm::ARMBaseInstrInfo::createMIROperandComment(), llvm::RISCVInstrInfo::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::InstCombinerImpl::foldPHIArgInsertValueInstructionIntoPHI(), GetArgMD(), llvm::sandboxir::CallBase::getArgOperand(), getBMIMatchingOp(), getBranchTargetOpValue(), 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::GlobalObject::getOperandUseInternal(), llvm::sandboxir::Constant::getOperandUseInternal(), llvm::RegBankSelect::RepairingPlacement::getOpIdx(), 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::DbgVariableRecord::getValue(), llvm::DbgValueInst::getValue(), llvm::DbgVariableRecord::getVariableLocationOp(), llvm::RawLocationWrapper::getVariableLocationOp(), llvm::DbgVariableIntrinsic::getVariableLocationOp(), llvm::slpvectorizer::BoUpSLP::VLOperands::getVL(), llvm::RegisterBankInfo::OperandsMapper::getVRegs(), handleADRP(), hasAllNBitUsers(), hasSameNumEltsOnAllVectorOperands(), llvm::GCNTTIImpl::hoistLaneIntrinsicThroughOperand(), hoistMulAddAssociation(), if(), ignoreOp(), llvm::MachineInstr::insert(), insertNamedMCOperand(), IsAGPROperand(), isCalleeOperand(), llvm::MachineInstr::isEquivalentDbgInstr(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isLegalRegOperand(), llvm::SIInstrInfo::isOperandLegal(), llvm::MachineInstr::isOperandSubregIdx(), llvm::ARMTTIImpl::isProfitableToSinkOperands(), llvm::RISCVTTIImpl::isProfitableToSinkOperands(), 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::AMDGPUMIRFormatter::parseImmMnemonic(), partitionShuffleOfConcats(), llvm::VPInterleaveRecipe::print(), llvm::RegisterBankInfo::InstructionMapping::print(), llvm::MachineInstr::print(), llvm::MachineOperand::print(), llvm::WebAssemblyInstPrinter::printCatchList(), llvm::AMDGPUMIRFormatter::printImm(), llvm::WebAssemblyInstPrinter::printInst(), printMIOperand(), reinsertVectorIndexAdd(), llvm::slpvectorizer::BoUpSLP::VLOperands::reorder(), llvm::RegBankSelect::RepairingPlacement::RepairingPlacement(), replaceOperandIfSame(), llvm::CombinerHelper::replaceSingleDefInstWithOperand(), llvm::sandboxir::User::replaceUsesOfWith(), llvm::DbgVariableRecord::replaceVariableLocationOp(), llvm::DbgVariableIntrinsic::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(), substituteSimpleCopyRegs(), tryChangeVGPRtoSGPRinCopy(), llvm::MachineInstr::untieRegOperand(), updateOperandIfDifferent(), UpdateOperandRegClass(), llvm::SIInstrInfo::usesConstantBus(), validateFunCallMachineDef(), validateGroupWaitEventsPtr(), validatePtrTypes(), validatePtrUnwrapStructField(), llvm::SIInstrInfo::verifyInstruction(), llvm::RISCVInstrInfo::verifyInstruction(), llvm::SDNodeInfo::verifyNode(), llvm::LegalizerHelper::widenScalarDst(), and llvm::LegalizerHelper::widenScalarSrc().

◆ TRI

const TargetRegisterInfo& TRI = *MF.getSubtarget().getRegisterInfo()

Definition at line 58 of file NVPTXPrologEpilogPass.cpp.

Referenced by if().