Anonymous View
LLVM 23.0.0git
AMDGPUCallLowering.cpp File Reference

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"

Definition at line 27 of file AMDGPUCallLowering.cpp.

Function Documentation

◆ addCallTargetOperands()

bool addCallTargetOperands ( MachineInstrBuilder & CallInst,
MachineIRBuilder & MIRBuilder,
AMDGPUCallLowering::CallLoweringInfo & Info,
bool IsDynamicVGPRChainCall = false )
static

◆ allocateHSAUserSGPRs()

◆ extOpcodeToISDExtOpcode()

ISD::NodeType extOpcodeToISDExtOpcode ( unsigned MIOpc)
static

◆ getAssignFnsForCC()

std::pair< CCAssignFn *, CCAssignFn * > getAssignFnsForCC ( CallingConv::ID CC,
const SITargetLowering & TLI )
static

Returns a pair containing the fixed CCAssignFn and the vararg CCAssignFn for CC.

Definition at line 1031 of file AMDGPUCallLowering.cpp.

References llvm::AMDGPUTargetLowering::CCAssignFnForCall().

◆ getCallOpcode()

unsigned getCallOpcode ( const MachineFunction & CallerF,
bool IsIndirect,
bool IsTailCall,
bool IsWave32,
CallingConv::ID CC,
bool IsDynamicVGPRChainCall = false )
static