LLVM 20.0.0git
Macros | Functions
SPIRVISelLowering.cpp File Reference
#include "SPIRVISelLowering.h"
#include "SPIRV.h"
#include "SPIRVInstrInfo.h"
#include "SPIRVRegisterBankInfo.h"
#include "SPIRVRegisterInfo.h"
#include "SPIRVSubtarget.h"
#include "SPIRVTargetMachine.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/IntrinsicsSPIRV.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "spirv-lower"
 

Functions

Register getTypeReg (MachineRegisterInfo *MRI, Register OpReg)
 
static void doInsertBitcast (const SPIRVSubtarget &STI, MachineRegisterInfo *MRI, SPIRVGlobalRegistry &GR, MachineInstr &I, Register OpReg, unsigned OpIdx, SPIRVType *NewPtrType)
 
static SPIRVTypecreateNewPtrType (SPIRVGlobalRegistry &GR, MachineInstr &I, SPIRVType *OpType, bool ReuseType, bool EmitIR, SPIRVType *ResType, const Type *ResTy)
 
static void validatePtrTypes (const SPIRVSubtarget &STI, MachineRegisterInfo *MRI, SPIRVGlobalRegistry &GR, MachineInstr &I, unsigned OpIdx, SPIRVType *ResType, const Type *ResTy=nullptr)
 
static void validateGroupWaitEventsPtr (const SPIRVSubtarget &STI, MachineRegisterInfo *MRI, SPIRVGlobalRegistry &GR, MachineInstr &I)
 
static void validateLifetimeStart (const SPIRVSubtarget &STI, MachineRegisterInfo *MRI, SPIRVGlobalRegistry &GR, MachineInstr &I)
 
static void validatePtrUnwrapStructField (const SPIRVSubtarget &STI, MachineRegisterInfo *MRI, SPIRVGlobalRegistry &GR, MachineInstr &I, unsigned OpIdx)
 
void validateFunCallMachineDef (const SPIRVSubtarget &STI, MachineRegisterInfo *DefMRI, MachineRegisterInfo *CallMRI, SPIRVGlobalRegistry &GR, MachineInstr &FunCall, MachineInstr *FunDef)
 
const FunctionvalidateFunCall (const SPIRVSubtarget &STI, MachineRegisterInfo *CallMRI, SPIRVGlobalRegistry &GR, MachineInstr &FunCall)
 
void validateForwardCalls (const SPIRVSubtarget &STI, MachineRegisterInfo *DefMRI, SPIRVGlobalRegistry &GR, MachineInstr &FunDef)
 
void validateAccessChain (const SPIRVSubtarget &STI, MachineRegisterInfo *MRI, SPIRVGlobalRegistry &GR, MachineInstr &I)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "spirv-lower"

Definition at line 24 of file SPIRVISelLowering.cpp.

Function Documentation

◆ createNewPtrType()

static SPIRVType * createNewPtrType ( SPIRVGlobalRegistry GR,
MachineInstr I,
SPIRVType OpType,
bool  ReuseType,
bool  EmitIR,
SPIRVType ResType,
const Type ResTy 
)
static

◆ doInsertBitcast()

static void doInsertBitcast ( const SPIRVSubtarget STI,
MachineRegisterInfo MRI,
SPIRVGlobalRegistry GR,
MachineInstr I,
Register  OpReg,
unsigned  OpIdx,
SPIRVType NewPtrType 
)
static

◆ getTypeReg()

Register getTypeReg ( MachineRegisterInfo MRI,
Register  OpReg 
)
inline

◆ validateAccessChain()

void validateAccessChain ( const SPIRVSubtarget STI,
MachineRegisterInfo MRI,
SPIRVGlobalRegistry GR,
MachineInstr I 
)

◆ validateForwardCalls()

void validateForwardCalls ( const SPIRVSubtarget STI,
MachineRegisterInfo DefMRI,
SPIRVGlobalRegistry GR,
MachineInstr FunDef 
)

◆ validateFunCall()

const Function * validateFunCall ( const SPIRVSubtarget STI,
MachineRegisterInfo CallMRI,
SPIRVGlobalRegistry GR,
MachineInstr FunCall 
)

◆ validateFunCallMachineDef()

void validateFunCallMachineDef ( const SPIRVSubtarget STI,
MachineRegisterInfo DefMRI,
MachineRegisterInfo CallMRI,
SPIRVGlobalRegistry GR,
MachineInstr FunCall,
MachineInstr FunDef 
)

◆ validateGroupWaitEventsPtr()

static void validateGroupWaitEventsPtr ( const SPIRVSubtarget STI,
MachineRegisterInfo MRI,
SPIRVGlobalRegistry GR,
MachineInstr I 
)
static

◆ validateLifetimeStart()

static void validateLifetimeStart ( const SPIRVSubtarget STI,
MachineRegisterInfo MRI,
SPIRVGlobalRegistry GR,
MachineInstr I 
)
static

◆ validatePtrTypes()

static void validatePtrTypes ( const SPIRVSubtarget STI,
MachineRegisterInfo MRI,
SPIRVGlobalRegistry GR,
MachineInstr I,
unsigned  OpIdx,
SPIRVType ResType,
const Type ResTy = nullptr 
)
static

◆ validatePtrUnwrapStructField()

static void validatePtrUnwrapStructField ( const SPIRVSubtarget STI,
MachineRegisterInfo MRI,
SPIRVGlobalRegistry GR,
MachineInstr I,
unsigned  OpIdx 
)
static