/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
H A D | SPIRVGlobalRegistry.h | 28 using SPIRVType = const MachineInstr; variable 37 DenseMap<const MachineFunction *, DenseMap<Register, SPIRVType *>> 43 DenseMap<SPIRVType *, const Type *> SPIRVToLLVMType; 65 DenseMap<const Type *, SPIRVType *> ForwardPointerTypes; 87 SPIRVType *createSPIRVType(const Type *Type, MachineIRBuilder &MIRBuilder, 91 SPIRVType *findSPIRVType(const Type *Ty, MachineIRBuilder &MIRBuilder, 95 SPIRVType * 274 SPIRVType *assignTypeToVReg(const Type *Type, Register VReg, 279 SPIRVType *assignIntTypeToVReg(unsigned BitWidth, Register VReg, 281 SPIRVType *assignFloatTypeToVReg(unsigned BitWidth, Register VReg, [all …]
|
H A D | SPIRVGlobalRegistry.cpp | 33 SPIRVType *SPIRVGlobalRegistry::assignIntTypeToVReg(unsigned BitWidth, in assignIntTypeToVReg() 37 SPIRVType *SpirvType = getOrCreateSPIRVIntegerType(BitWidth, I, TII); in assignIntTypeToVReg() 42 SPIRVType * 46 SPIRVType *SpirvType = getOrCreateSPIRVFloatType(BitWidth, I, TII); in assignFloatTypeToVReg() 51 SPIRVType *SPIRVGlobalRegistry::assignVectTypeToVReg( in assignVectTypeToVReg() 52 SPIRVType *BaseType, unsigned NumElements, Register VReg, MachineInstr &I, in assignVectTypeToVReg() 54 SPIRVType *SpirvType = in assignVectTypeToVReg() 60 SPIRVType *SPIRVGlobalRegistry::assignTypeToVReg( in assignTypeToVReg() 63 SPIRVType *SpirvType = in assignTypeToVReg() 69 void SPIRVGlobalRegistry::assignSPIRVTypeToVReg(SPIRVType *SpirvType, in assignSPIRVTypeToVReg() [all …]
|
H A D | SPIRVInstructionSelector.cpp | 111 bool spvSelect(Register ResVReg, const SPIRVType *ResType, 117 bool selectUnOpWithSrc(Register ResVReg, const SPIRVType *ResType, 120 bool selectUnOp(Register ResVReg, const SPIRVType *ResType, MachineInstr &I, 123 bool selectBitcast(Register ResVReg, const SPIRVType *ResType, 126 bool selectLoad(Register ResVReg, const SPIRVType *ResType, 130 bool selectStackSave(Register ResVReg, const SPIRVType *ResType, 136 bool selectAtomicRMW(Register ResVReg, const SPIRVType *ResType, 140 bool selectAtomicCmpXchg(Register ResVReg, const SPIRVType *ResType, 145 bool selectAddrSpaceCast(Register ResVReg, const SPIRVType *ResType, 148 bool selectAnyOrAll(Register ResVReg, const SPIRVType *ResType, [all …]
|
H A D | SPIRVISelLowering.cpp | 108 SPIRVType *TypeInst = MRI->getVRegDef(OpReg); in getTypeReg() 117 SPIRVType *NewPtrType) { in doInsertBitcast() 133 static SPIRVType *createNewPtrType(SPIRVGlobalRegistry &GR, MachineInstr &I, in createNewPtrType() 134 SPIRVType *OpType, bool ReuseType, in createNewPtrType() 135 bool EmitIR, SPIRVType *ResType, in createNewPtrType() 141 SPIRVType *NewBaseType = in createNewPtrType() 153 SPIRVType *ResType, const Type *ResTy = nullptr) { in validatePtrTypes() 158 SPIRVType *OpType = GR.getSPIRVTypeForVReg(OpTypeReg, MF); in validatePtrTypes() 163 SPIRVType *ElemType = GR.getSPIRVTypeForVReg(ElemTypeReg, MF); in validatePtrTypes() 174 SPIRVType *NewPtrType = in validatePtrTypes() [all …]
|
H A D | SPIRVCallLowering.cpp | 95 FunctionType *FTy, const SPIRVType *SRetTy, in fixFunctionTypeIfPtrArgs() 96 const SmallVector<SPIRVType *, 4> &SArgTys) { in fixFunctionTypeIfPtrArgs() argument 189 static SPIRVType *getArgSPIRVType(const Function &F, unsigned ArgIdx, in getArgSPIRVType() 207 SPIRVType *ElementType = GR->getOrCreateSPIRVType( in getArgSPIRVType() 223 SPIRVType *ElementType = in getArgSPIRVType() 248 SPIRVType *ElementType = GR->getOrCreateSPIRVType(ElementTy, MIRBuilder); in getArgSPIRVType() 291 SmallVector<SPIRVType *, 4> ArgTypeVRegs; in lowerFormalArguments() 388 SPIRVType *RetTy = GR->getOrCreateSPIRVType(FRetTy, MIRBuilder); in lowerFormalArguments() 390 SPIRVType *FuncTy = GR->getOrCreateOpTypeFunctionWithArgs( in lowerFormalArguments() 467 SPIRVType *SpirvRetTy = GR->getOrCreateSPIRVType(IC.RetTy, MIRBuilder); in produceIndirectPtrTypes() [all …]
|
H A D | SPIRVPostLegalizer.cpp | 48 extern Register insertAssignInstr(Register Reg, Type *Ty, SPIRVType *SpirvTy, 92 SPIRVType *DefType = in processNewInstrs() 97 SPIRVType *ScalarType = in processNewInstrs() 101 SPIRVType *ResType = GR->getSPIRVTypeForVReg(ResVReg); in processNewInstrs() 117 SPIRVType *ResVType = GR->getSPIRVTypeForVReg(ResVReg); in processNewInstrs()
|
H A D | SPIRVBuiltins.cpp | 47 const SPIRVType *ReturnType; 51 const Register ReturnRegister, const SPIRVType *ReturnType, in IncomingCall() 223 Register ReturnRegister, const SPIRVType *ReturnType, in lookupBuiltin() 392 static std::tuple<Register, SPIRVType *> 393 buildBoolRegister(MachineIRBuilder &MIRBuilder, const SPIRVType *ResultType, in buildBoolRegister() 396 SPIRVType *BoolType = GR->getOrCreateSPIRVBoolType(MIRBuilder); in buildBoolRegister() 420 const SPIRVType *ReturnType, in buildSelectInst() 439 static Register buildLoadInst(SPIRVType *BaseType, Register PtrRegister, in buildLoadInst() 459 MachineIRBuilder &MIRBuilder, SPIRVType *VariableType, in buildBuiltinVariableLoad() 466 SPIRVType *PtrType = GR->getOrCreateSPIRVPointerType( in buildBuiltinVariableLoad() [all …]
|
H A D | SPIRVPreLegalizer.cpp | 93 SPIRVType *ExtType = in addConstantsToTrack() 189 SPIRVType *BaseTy = GR->getOrCreateSPIRVType(ElemTy, MIB); in insertBitcasts() 190 SPIRVType *AssignedPtrType = GR->getOrCreateSPIRVPointerType( in insertBitcasts() 225 static SPIRVType *propagateSPIRVType(MachineInstr *MI, SPIRVGlobalRegistry *GR, in propagateSPIRVType() 228 SPIRVType *SpirvTy = nullptr; in propagateSPIRVType() 256 if (SPIRVType *Def = propagateSPIRVType(DefInstr, GR, MRI, MIB)) { in propagateSPIRVType() 312 createNewIdReg(SPIRVType *SpvType, Register SrcReg, MachineRegisterInfo &MRI, in createNewIdReg() 371 Register insertAssignInstr(Register Reg, Type *Ty, SPIRVType *SpirvTy, in insertAssignInstr() 456 SPIRVType *BaseTy = GR->getOrCreateSPIRVType(ElementTy, MIB); in generateAssignInstrs() 457 SPIRVType *AssignedPtrType = GR->getOrCreateSPIRVPointerType( in generateAssignInstrs() [all …]
|
H A D | SPIRVBuiltins.h | 78 SPIRVType *lowerBuiltinType(const Type *Type,
|
H A D | SPIRVLegalizerInfo.cpp | 324 static Register convertPtrToInt(Register Reg, LLT ConvTy, SPIRVType *SpirvType, in convertPtrToInt() 356 SPIRVType *SpirvTy = GR->getOrCreateSPIRVType(LLVMTy, Helper.MIRBuilder); in legalizeCustom()
|
H A D | SPIRVModuleAnalysis.cpp | 782 SPIRVType *TypeDef = MI.getMF()->getRegInfo().getVRegDef(TypeReg); in AddAtomicFloatRequirements() 896 SPIRVType *TypeDef = MRI.getVRegDef(MI.getOperand(2).getReg()); in addInstrRequirements() 979 SPIRVType *TypeDef = MRI.getVRegDef(TypeReg); in addInstrRequirements()
|