LLVM 22.0.0git
|
#include "SPIRVGlobalRegistry.h"
#include "SPIRV.h"
#include "SPIRVBuiltins.h"
#include "SPIRVSubtarget.h"
#include "SPIRVUtils.h"
#include "llvm/ADT/APInt.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsSPIRV.h"
#include "llvm/IR/Type.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <functional>
Go to the source code of this file.
Functions | |
static bool | allowEmitFakeUse (const Value *Arg) |
static unsigned | typeToAddressSpace (const Type *Ty) |
static bool | storageClassRequiresExplictLayout (SPIRV::StorageClass::StorageClass SC) |
static Register | createTypeVReg (MachineRegisterInfo &MRI) |
Register | createTypeVReg (MachineIRBuilder &MIRBuilder) |
unsigned | getAS (SPIRVType *SpvType) |
Definition at line 35 of file SPIRVGlobalRegistry.cpp.
References llvm::dyn_cast(), llvm::isa(), and llvm::isSpvIntrinsic().
Referenced by llvm::SPIRVGlobalRegistry::buildAssignType().
|
inline |
Definition at line 140 of file SPIRVGlobalRegistry.cpp.
References createTypeVReg(), llvm::MachineIRBuilder::getMF(), and llvm::MachineFunction::getRegInfo().
|
static |
Definition at line 134 of file SPIRVGlobalRegistry.cpp.
References MRI, and llvm::LLT::scalar().
Referenced by createTypeVReg(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeByOpcode(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeCoopMatr(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeDeviceEvent(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypePipe(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeSampledImage(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeSampler(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVBoolType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(), and llvm::SPIRVGlobalRegistry::getOrCreateUnknownType().
Definition at line 1915 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and llvm::storageClassToAddressSpace().
Referenced by llvm::SPIRVGlobalRegistry::getRegType().
|
static |
Definition at line 58 of file SPIRVGlobalRegistry.cpp.
References llvm_unreachable.
Referenced by llvm::SPIRVGlobalRegistry::changePointerStorageClass(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVPointerType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVPointerType(), and llvm::SPIRVGlobalRegistry::getOrCreateVulkanBufferType().
Definition at line 46 of file SPIRVGlobalRegistry.cpp.
References llvm::dyn_cast(), llvm::isTypedPointerWrapper(), and llvm::reportFatalInternalError().
Referenced by llvm::SPIRVGlobalRegistry::getOrCreateConstNullPtr().