LLVM: lib/Target/SPIRV/SPIRVLegalizerInfo.cpp File Reference (original) (raw)
#include "[SPIRVLegalizerInfo.h](SPIRVLegalizerInfo%5F8h%5Fsource.html)"#include "[SPIRV.h](SPIRV%5F8h%5Fsource.html)"#include "[SPIRVGlobalRegistry.h](SPIRVGlobalRegistry%5F8h%5Fsource.html)"#include "[SPIRVSubtarget.h](SPIRVSubtarget%5F8h%5Fsource.html)"#include "[llvm/CodeGen/GlobalISel/GenericMachineInstrs.h](GenericMachineInstrs%5F8h%5Fsource.html)"#include "[llvm/CodeGen/GlobalISel/LegalizerHelper.h](LegalizerHelper%5F8h%5Fsource.html)"#include "[llvm/CodeGen/GlobalISel/MachineIRBuilder.h](MachineIRBuilder%5F8h%5Fsource.html)"#include "[llvm/CodeGen/MachineInstr.h](MachineInstr%5F8h%5Fsource.html)"#include "[llvm/CodeGen/MachineRegisterInfo.h](MachineRegisterInfo%5F8h%5Fsource.html)"#include "[llvm/CodeGen/TargetOpcodes.h](TargetOpcodes%5F8h%5Fsource.html)"#include "llvm/IR/IntrinsicsSPIRV.h"#include "[llvm/Support/Debug.h](Support%5F2Debug%5F8h%5Fsource.html)"#include "[llvm/Support/MathExtras.h](MathExtras%5F8h%5Fsource.html)"
Go to the source code of this file.
| Macros | |
|---|---|
| #define | DEBUG_TYPE "spirv-legalizer" |
| Functions | |
|---|---|
| LegalityPredicate | typeOfExtendedScalars (unsigned TypeIdx, bool IsExtendedInts) |
| static bool | legalizeExtractVectorElt (LegalizerHelper &Helper, MachineInstr &MI, SPIRVGlobalRegistry *GR) |
| static Register | convertPtrToInt (Register Reg, LLT ConvTy, SPIRVType *SpvType, LegalizerHelper &Helper, MachineRegisterInfo &MRI, SPIRVGlobalRegistry *GR) |
Macro Definition Documentation
◆ DEBUG_TYPE
#define DEBUG_TYPE "spirv-legalizer"
Definition at line 31 of file SPIRVLegalizerInfo.cpp.
Function Documentation
◆ convertPtrToInt()
| Register convertPtrToInt ( Register Reg, LLT ConvTy, SPIRVType * SpvType, LegalizerHelper & Helper, MachineRegisterInfo & MRI, SPIRVGlobalRegistry * GR ) | static |
|---|
Definition at line 464 of file SPIRVLegalizerInfo.cpp.
References llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addUse(), llvm::SPIRVGlobalRegistry::assignSPIRVTypeToVReg(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::getMF(), llvm::SPIRVGlobalRegistry::getRegClass(), llvm::LegalizerHelper::MIRBuilder, MRI, and Reg.
Referenced by llvm::SPIRVLegalizerInfo::legalizeCustom().
◆ legalizeExtractVectorElt()
| bool legalizeExtractVectorElt ( LegalizerHelper & Helper, MachineInstr & MI, SPIRVGlobalRegistry * GR ) | static |
|---|
Definition at line 449 of file SPIRVLegalizerInfo.cpp.
References llvm::MachineInstrBuilder::addUse(), llvm::MachineIRBuilder::buildIntrinsic(), MI, and llvm::LegalizerHelper::MIRBuilder.
Referenced by llvm::SPIRVLegalizerInfo::legalizeCustom().
◆ typeOfExtendedScalars()
| LegalityPredicate typeOfExtendedScalars | ( | unsigned | TypeIdx, |
|---|---|---|---|
| bool | IsExtendedInts ) |
Definition at line 33 of file SPIRVLegalizerInfo.cpp.
Referenced by llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo().