LLVM 22.0.0git
AMDGPUCallLowering.cpp File Reference

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

#include "AMDGPUCallLowering.h"
#include "AMDGPU.h"
#include "AMDGPULegalizerInfo.h"
#include "SIMachineFunctionInfo.h"
#include "SIRegisterInfo.h"
#include "llvm/CodeGen/Analysis.h"
#include "llvm/CodeGen/FunctionLoweringInfo.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/IR/IntrinsicsAMDGPU.h"

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 26 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 985 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