LLVM 22.0.0git
Macros | Functions
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()

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

◆ allocateHSAUserSGPRs()

static void allocateHSAUserSGPRs ( CCState CCInfo,
MachineIRBuilder B,
MachineFunction MF,
const SIRegisterInfo TRI,
SIMachineFunctionInfo Info 
)
static

◆ extOpcodeToISDExtOpcode()

static ISD::NodeType extOpcodeToISDExtOpcode ( unsigned  MIOpc)
static

◆ getAssignFnsForCC()

static 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()

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