Home
last modified time | relevance | path

Searched refs:SPIRVType (Results 1 – 14 of 14) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVGlobalRegistry.h28 using SPIRVType = const MachineInstr; variable
38 DenseMap<const MachineFunction *, DenseMap<Register, SPIRVType *>>
41 DenseMap<SPIRVType *, const Type *> SPIRVToLLVMType;
60 DenseMap<const Type *, SPIRVType *> ForwardPointerTypes;
92 SPIRVType *createSPIRVType(const Type *Type, MachineIRBuilder &MIRBuilder,
95 SPIRVType *findSPIRVType(const Type *Ty, MachineIRBuilder &MIRBuilder,
98 SPIRVType *
107 SPIRVType *createOpType(MachineIRBuilder &MIRBuilder,
280 SPIRVType *assignTypeToVReg(const Type *Type, Register VReg,
284 SPIRVType *assignIntTypeToVReg(unsigned BitWidth, Register VReg,
[all …]
H A DSPIRVGlobalRegistry.cpp92 SPIRVType *SPIRVGlobalRegistry::assignIntTypeToVReg(unsigned BitWidth, in assignIntTypeToVReg()
96 SPIRVType *SpirvType = getOrCreateSPIRVIntegerType(BitWidth, I, TII); in assignIntTypeToVReg()
101 SPIRVType *
105 SPIRVType *SpirvType = getOrCreateSPIRVFloatType(BitWidth, I, TII); in assignFloatTypeToVReg()
110 SPIRVType *SPIRVGlobalRegistry::assignVectTypeToVReg( in assignVectTypeToVReg()
111 SPIRVType *BaseType, unsigned NumElements, Register VReg, MachineInstr &I, in assignVectTypeToVReg()
113 SPIRVType *SpirvType = in assignVectTypeToVReg()
119 SPIRVType *SPIRVGlobalRegistry::assignTypeToVReg( in assignTypeToVReg()
122 SPIRVType *SpirvType = in assignTypeToVReg()
128 void SPIRVGlobalRegistry::assignSPIRVTypeToVReg(SPIRVType *SpirvType, in assignSPIRVTypeToVReg()
[all …]
H A DSPIRVISelLowering.cpp29 static bool typesLogicallyMatch(const SPIRVType *Ty1, const SPIRVType *Ty2, in typesLogicallyMatch()
42 SPIRVType *ElemType1 = GR.getSPIRVTypeForVReg(Ty1->getOperand(1).getReg()); in typesLogicallyMatch()
43 SPIRVType *ElemType2 = GR.getSPIRVTypeForVReg(Ty2->getOperand(1).getReg()); in typesLogicallyMatch()
50 SPIRVType *ElemType1 = in typesLogicallyMatch()
52 SPIRVType *ElemType2 = in typesLogicallyMatch()
139 SPIRVType *TypeInst = MRI->getVRegDef(OpReg); in getTypeReg()
148 SPIRVType *NewPtrType) { in doInsertBitcast()
162 static SPIRVType *createNewPtrType(SPIRVGlobalRegistry &GR, MachineInstr &I, in createNewPtrType()
163 SPIRVType *OpType, bool ReuseType, in createNewPtrType()
164 SPIRVType *ResType, const Type *ResTy) { in createNewPtrType()
[all …]
H A DSPIRVInstructionSelector.cpp104 bool spvSelect(Register ResVReg, const SPIRVType *ResType,
107 bool selectFirstBitHigh(Register ResVReg, const SPIRVType *ResType,
110 bool selectFirstBitLow(Register ResVReg, const SPIRVType *ResType,
113 bool selectFirstBitSet16(Register ResVReg, const SPIRVType *ResType,
117 bool selectFirstBitSet32(Register ResVReg, const SPIRVType *ResType,
121 bool selectFirstBitSet64(Register ResVReg, const SPIRVType *ResType,
125 bool selectFirstBitSet64Overflow(Register ResVReg, const SPIRVType *ResType,
133 bool selectOpWithSrcs(Register ResVReg, const SPIRVType *ResType,
137 bool selectUnOp(Register ResVReg, const SPIRVType *ResType, MachineInstr &I,
140 bool selectBitcast(Register ResVReg, const SPIRVType *ResType,
[all …]
H A DSPIRVPostLegalizer.cpp38 extern void insertAssignInstr(Register Reg, Type *Ty, SPIRVType *SpirvTy,
43 SPIRVType *KnownResType);
74 SPIRVType *DefType = in processNewInstrs()
79 SPIRVType *ScalarType = in processNewInstrs()
83 SPIRVType *ResType = GR->getSPIRVTypeForVReg(ResVReg); in processNewInstrs()
100 SPIRVType *ResVType = GR->getSPIRVTypeForVReg( in processNewInstrs()
H A DSPIRVBuiltins.cpp48 const SPIRVType *ReturnType;
52 const Register ReturnRegister, const SPIRVType *ReturnType, in IncomingCall()
275 Register ReturnRegister, const SPIRVType *ReturnType, in lookupBuiltin()
441 static std::tuple<Register, SPIRVType *>
442 buildBoolRegister(MachineIRBuilder &MIRBuilder, const SPIRVType *ResultType, in buildBoolRegister()
445 SPIRVType *BoolType = GR->getOrCreateSPIRVBoolType(MIRBuilder, true); in buildBoolRegister()
469 const SPIRVType *ReturnType, in buildSelectInst()
490 static Register buildLoadInst(SPIRVType *BaseType, Register PtrRegister, in buildLoadInst()
506 MachineIRBuilder &MIRBuilder, SPIRVType *VariableType, in buildBuiltinVariableLoad()
515 SPIRVType *PtrType = GR->getOrCreateSPIRVPointerType( in buildBuiltinVariableLoad()
[all …]
H A DSPIRVCallLowering.cpp108 FunctionType *FTy, const SPIRVType *SRetTy, in fixFunctionTypeIfPtrArgs()
109 const SmallVector<SPIRVType *, 4> &SArgTys) { in fixFunctionTypeIfPtrArgs() argument
199 static SPIRVType *getArgSPIRVType(const Function &F, unsigned ArgIdx, in getArgSPIRVType()
333 SmallVector<SPIRVType *, 4> ArgTypeVRegs; in lowerFormalArguments()
434 SPIRVType *RetTy = GR->getOrCreateSPIRVType( in lowerFormalArguments()
437 SPIRVType *FuncTy = GR->getOrCreateOpTypeFunctionWithArgs( in lowerFormalArguments()
524 SPIRVType *SpirvRetTy = GR->getOrCreateSPIRVType( in produceIndirectPtrTypes()
526 SmallVector<SPIRVType *, 4> SpirvArgTypes; in produceIndirectPtrTypes()
528 SPIRVType *SPIRVTy = GR->getOrCreateSPIRVType( in produceIndirectPtrTypes()
537 SPIRVType *SpirvFuncTy = GR->getOrCreateOpTypeFunctionWithArgs( in produceIndirectPtrTypes()
[all …]
H A DSPIRVPreLegalizer.cpp99 SPIRVType *ExtType = GR->getOrCreateSPIRVType( in addConstantsToTrack()
177 SPIRVType *ResType = GR->getSPIRVTypeForVReg(ResVReg); in buildOpBitcast()
178 SPIRVType *OpType = GR->getSPIRVTypeForVReg(OpReg); in buildOpBitcast()
252 SPIRVType *AssignedPtrType = GR->getOrCreateSPIRVPointerType( in insertBitcasts()
291 static SPIRVType *propagateSPIRVType(MachineInstr *MI, SPIRVGlobalRegistry *GR, in propagateSPIRVType()
294 SPIRVType *SpvType = nullptr; in propagateSPIRVType()
325 if (SPIRVType *Def = propagateSPIRVType(DefInstr, GR, MRI, MIB)) { in propagateSPIRVType()
420 void insertAssignInstr(Register Reg, Type *Ty, SPIRVType *SpvType, in insertAssignInstr()
473 SPIRVType *KnownResType) { in processInstr()
479 SPIRVType *SpvType = GR->getSPIRVTypeForVReg(OpReg); in processInstr()
[all …]
H A DSPIRVBuiltins.h82 SPIRVType *lowerBuiltinType(const Type *Type,
H A DSPIRVISelLowering.h78 SPIRVType *NewResultType) const;
H A DSPIRVEmitNonSemanticDI.cpp185 const SPIRVType *VoidTy = in emitGlobalDI()
210 const SPIRVType *I32Ty = in emitGlobalDI()
H A DSPIRVLegalizerInfo.cpp342 static Register convertPtrToInt(Register Reg, LLT ConvTy, SPIRVType *SpvType, in convertPtrToInt()
374 SPIRVType *SpirvTy = GR->getOrCreateSPIRVType( in legalizeCustom()
H A DSPIRVModuleAnalysis.cpp999 SPIRVType *TypeDef = MI.getMF()->getRegInfo().getVRegDef(TypeReg); in AddAtomicFloatRequirements()
1180 static bool isImageTypeWithUnknownFormat(SPIRVType *TypeInst) { in isImageTypeWithUnknownFormat()
1202 SPIRVType *TypeDef = MRI.getVRegDef(InputReg); in AddDotProductRequirements()
1207 SPIRVType *ScalarTypeDef = MRI.getVRegDef(TypeDef->getOperand(1).getReg()); in AddDotProductRequirements()
1282 SPIRVType *TypeDef = MRI.getVRegDef(MI.getOperand(2).getReg()); in addInstrRequirements()
1386 SPIRVType *TypeDef = MRI.getVRegDef(TypeReg); in addInstrRequirements()
1797 SPIRVType *TypeDef = ST.getSPIRVGlobalRegistry()->getResultType( in addInstrRequirements()
1811 SPIRVType *TypeDef = ST.getSPIRVGlobalRegistry()->getResultType( in addInstrRequirements()
H A DSPIRVUtils.cpp768 void setRegClassType(Register Reg, SPIRVType *SpvType, SPIRVGlobalRegistry *GR, in setRegClassType()
792 Register createVirtualRegister(SPIRVType *SpvType, SPIRVGlobalRegistry *GR, in createVirtualRegister()
803 Register createVirtualRegister(SPIRVType *SpvType, SPIRVGlobalRegistry *GR, in createVirtualRegister()