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.

Macros
#define DEBUG_TYPE "amdgpu-call-lowering"
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, bool IsDynamicVGPRChainCall=false)
static bool addCallTargetOperands (MachineInstrBuilder &CallInst, MachineIRBuilder &MIRBuilder, AMDGPUCallLowering::CallLoweringInfo &Info, bool IsDynamicVGPRChainCall=false)

Detailed Description

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

Definition in file AMDGPUCallLowering.cpp.

Macro Definition Documentation

DEBUG_TYPE

#define DEBUG_TYPE "amdgpu-call-lowering"

Function Documentation

addCallTargetOperands()

allocateHSAUserSGPRs()

Definition at line 455 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::hasPrivateSegmentSize(), llvm::GCNUserSGPRUsageInfo::hasQueuePtr(), Info, MRI, llvm::LLT::pointer(), and TRI.

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

extOpcodeToISDExtOpcode()

getAssignFnsForCC()

getCallOpcode()