LLVM: lib/Target/AMDGPU/AMDGPUCallLowering.cpp File Reference (original) (raw)

This file implements the lowering of LLVM calls to machine code calls for GlobalISel. More...

Go to the source code of this file.

Functions
static ISD::NodeType extOpcodeToISDExtOpcode (unsigned MIOpc)
static void allocateHSAUserSGPRs (CCState &CCInfo, MachineIRBuilder &B, MachineFunction &MF, const SIRegisterInfo &TRI, SIMachineFunctionInfo &Info)
static std::pair< CCAssignFn *, CCAssignFn * > getAssignFnsForCC (CallingConv::ID CC, const SITargetLowering &TLI)
Returns a pair containing the fixed CCAssignFn and the vararg CCAssignFn for CC.
static unsigned getCallOpcode (const MachineFunction &CallerF, bool IsIndirect, bool IsTailCall, bool isWave32, CallingConv::ID CC)
static bool addCallTargetOperands (MachineInstrBuilder &CallInst, MachineIRBuilder &MIRBuilder, AMDGPUCallLowering::CallLoweringInfo &Info)
static bool canGuaranteeTCO (CallingConv::ID CC)
Return true if the calling convention is one that we can guarantee TCO for.
static bool mayTailCallThisCC (CallingConv::ID CC)
Return true if we might ever do TCO for calls with this calling convention.

This file implements the lowering of LLVM calls to machine code calls for GlobalISel.

Definition in file AMDGPUCallLowering.cpp.

DEBUG_TYPE

#define DEBUG_TYPE "amdgpu-call-lowering"

addCallTargetOperands()

allocateHSAUserSGPRs()

Definition at line 448 of file AMDGPUCallLowering.cpp.

References llvm::MachineFunction::addLiveIn(), llvm::CCState::AllocateReg(), B, llvm::AMDGPUAS::CONSTANT_ADDRESS, llvm::MachineFunction::getRegInfo(), llvm::GCNUserSGPRUsageInfo::hasDispatchID(), llvm::GCNUserSGPRUsageInfo::hasDispatchPtr(), llvm::GCNUserSGPRUsageInfo::hasFlatScratchInit(), llvm::GCNUserSGPRUsageInfo::hasKernargSegmentPtr(), llvm::GCNUserSGPRUsageInfo::hasPrivateSegmentBuffer(), llvm::GCNUserSGPRUsageInfo::hasQueuePtr(), Info, MRI, llvm::LLT::pointer(), and TRI.

Referenced by llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel().

canGuaranteeTCO()

extOpcodeToISDExtOpcode()

getAssignFnsForCC()

getCallOpcode()

mayTailCallThisCC()