Lines Matching defs:GR

77   SPIRVGlobalRegistry &GR;
266 TRI(*ST.getRegisterInfo()), RBI(RBI), GR(*ST.getSPIRVGlobalRegistry()),
282 GR.setCurrentFunc(MF);
329 SPIRVType *ResType = HasDefs ? GR.getSPIRVTypeForVReg(ResVReg) : nullptr;
374 .addUse(GR.getSPIRVTypeID(ResType))
554 Register Idx = buildZerosVal(GR.getOrCreateSPIRVIntegerType(32, I, TII), I);
558 .addUse(GR.getSPIRVTypeID(ResType))
647 .addUse(GR.getSPIRVTypeID(ResType))
666 .addUse(GR.getSPIRVTypeID(ResType))
700 .addUse(GR.getSPIRVTypeID(ResType))
714 SPIRVType *OpType = OpReg.isValid() ? GR.getSPIRVTypeForVReg(OpReg) : nullptr;
715 if (!GR.isBitcastCompatible(ResType, OpType))
778 .addUse(GR.getSPIRVTypeID(ResType))
821 .addUse(GR.getSPIRVTypeID(ResType))
847 SPIRVType *ValTy = GR.getOrCreateSPIRVIntegerType(8, I, TII);
848 SPIRVType *ArrTy = GR.getOrCreateSPIRVArrayType(ValTy, Num, I, TII);
849 Register Const = GR.getOrCreateConstIntArray(Val, Num, I, ArrTy, TII);
850 SPIRVType *VarTy = GR.getOrCreateSPIRVPointerType(
853 Function &CurFunction = GR.CurMF->getFunction();
861 GR.add(GV, GR.CurMF, VarReg);
866 .addUse(GR.getSPIRVTypeID(VarTy))
870 SPIRVType *SourceTy = GR.getOrCreateSPIRVPointerType(
902 // getMemSemanticsForStorageClass(GR.getPointerStorageClass(Ptr));
918 .addUse(GR.getSPIRVTypeID(ResType))
932 SrcReg.isValid() ? GR.getSPIRVTypeForVReg(SrcReg) : nullptr;
938 GR.getSPIRVTypeForVReg(DefType->getOperand(1).getReg());
943 SPIRVType *ResType = GR.getSPIRVTypeForVReg(ResVReg);
948 MRI->setType(ResVReg, LLT::scalar(GR.getScalarOrVectorBitWidth(ResType)));
949 GR.assignSPIRVTypeToVReg(ResType, ResVReg, *GR.CurMF);
954 .addUse(GR.getSPIRVTypeID(ResType))
991 getMemSemanticsForStorageClass(GR.getPointerStorageClass(Ptr)));
1007 SPIRVType *SpvValTy = GR.getSPIRVTypeForVReg(Val);
1013 .addUse(GR.getSPIRVTypeID(SpvValTy))
1022 SPIRVType *BoolTy = GR.getOrCreateSPIRVBoolType(I, TII);
1025 .addUse(GR.getSPIRVTypeID(BoolTy))
1032 .addUse(GR.getSPIRVTypeID(ResType))
1034 .addUse(GR.getOrCreateUndef(I, ResType, TII))
1039 .addUse(GR.getSPIRVTypeID(ResType))
1085 SPIRVType *SpvBaseTy = GR.getOrCreateSPIRVIntegerType(8, I, TII);
1086 ResType = GR.getOrCreateSPIRVPointerType(SpvBaseTy, I, TII,
1091 .addUse(GR.getSPIRVTypeID(ResType))
1098 SPIRVType *SrcPtrTy = GR.getSPIRVTypeForVReg(SrcPtr);
1099 SPIRV::StorageClass::StorageClass SrcSC = GR.getPointerStorageClass(SrcPtr);
1100 SPIRV::StorageClass::StorageClass DstSC = GR.getPointerStorageClass(ResVReg);
1119 SPIRVType *GenericPtrTy = GR.getOrCreateSPIRVPointerType(
1120 GR.getPointeeType(SrcPtrTy), I, TII, SPIRV::StorageClass::Generic);
1125 .addUse(GR.getSPIRVTypeID(GenericPtrTy))
1130 .addUse(GR.getSPIRVTypeID(ResType))
1248 SPIRVType *InputType = GR.getSPIRVTypeForVReg(InputRegister);
1253 bool IsBoolTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeBool);
1264 bool IsFloatTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeFloat);
1267 SPIRVType *SpvBoolScalarTy = GR.getOrCreateSPIRVBoolType(I, TII);
1275 SpvBoolTy = GR.getOrCreateSPIRVVectorType(SpvBoolTy, NumElts, I, TII);
1284 .addUse(GR.getSPIRVTypeID(SpvBoolTy))
1295 .addUse(GR.getSPIRVTypeID(SpvBoolScalarTy))
1324 .addUse(GR.getSPIRVTypeID(ResType))
1343 .addUse(GR.getSPIRVTypeID(ResType))
1356 .addUse(GR.getSPIRVTypeID(ResType))
1424 .addUse(GR.getSPIRVTypeID(ResType));
1500 N = GR.getScalarOrVectorComponentCount(ResType);
1522 .addUse(GR.getSPIRVTypeID(ResType));
1534 assert(GR.getSPIRVTypeForVReg(Cmp0)->getOpcode() ==
1535 GR.getSPIRVTypeForVReg(Cmp1)->getOpcode() &&
1539 .addUse(GR.getSPIRVTypeID(ResType))
1552 if (GR.isScalarOfType(CmpOperand, SPIRV::OpTypePointer))
1554 else if (GR.isScalarOrVectorOfType(CmpOperand, SPIRV::OpTypeBool))
1581 Type *LLVMTy = IntegerType::get(GR.CurMF->getFunction().getContext(), 32);
1583 ResType ? ResType : GR.getOrCreateSPIRVIntegerType(32, I, TII);
1586 Register NewReg = GR.find(ConstInt, GR.CurMF);
1589 GR.add(ConstInt, GR.CurMF, NewReg);
1595 .addUse(GR.getSPIRVTypeID(SpvI32Ty));
1599 .addUse(GR.getSPIRVTypeID(SpvI32Ty))
1619 return GR.getOrCreateConstVector(0UL, I, ResType, TII, ZeroAsNull);
1620 return GR.getOrCreateConstInt(0, I, ResType, TII, ZeroAsNull);
1641 APFloat VZero = getZeroFP(GR.getTypeForSPIRVType(ResType));
1643 return GR.getOrCreateConstVector(VZero, I, ResType, TII, ZeroAsNull);
1644 return GR.getOrCreateConstFP(VZero, I, ResType, TII, ZeroAsNull);
1650 unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
1654 return GR.getOrCreateConstVector(One.getZExtValue(), I, ResType, TII);
1655 return GR.getOrCreateConstInt(One.getZExtValue(), I, ResType, TII);
1666 GR.isScalarOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool);
1671 .addUse(GR.getSPIRVTypeID(ResType))
1685 if (GR.isScalarOrVectorOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool)) {
1686 unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
1687 SPIRVType *TmpType = GR.getOrCreateSPIRVIntegerType(BitWidth, I, TII);
1690 TmpType = GR.getOrCreateSPIRVVectorType(TmpType, NumElts, I, TII);
1702 if (GR.isScalarOrVectorOfType(SrcReg, SPIRV::OpTypeBool))
1705 SPIRVType *SrcType = GR.getSPIRVTypeForVReg(SrcReg);
1731 .addUse(GR.getSPIRVTypeID(IntTy))
1737 .addUse(GR.getSPIRVTypeID(BoolTy))
1747 const SPIRVType *ArgType = GR.getSPIRVTypeForVReg(IntReg);
1748 if (GR.isScalarOrVectorOfType(ResVReg, SPIRV::OpTypeBool))
1756 bool IsSigned = GR.isScalarOrVectorSigned(ResType);
1772 .addUse(GR.getSPIRVTypeID(ResType))
1776 Register Reg = GR.getOrCreateConstInt(Imm.getZExtValue(), I, ResType, TII);
1786 .addUse(GR.getSPIRVTypeID(ResType));
1798 .addUse(GR.getSPIRVTypeID(ResType))
1828 .addUse(GR.getSPIRVTypeID(ResType))
1844 .addUse(GR.getSPIRVTypeID(ResType))
1859 .addUse(GR.getSPIRVTypeID(ResType))
1874 .addUse(GR.getSPIRVTypeID(ResType))
1896 .addUse(GR.getSPIRVTypeID(ResType))
1917 SPIRVType *OpType = GR.getSPIRVTypeForVReg(OpReg);
1921 GR.isAggregateType(OpType)) {
1928 Register WrapReg = GR.find(OpDefine, MF);
1935 GR.add(OpDefine, MF, WrapReg);
1939 GR.assignSPIRVTypeToVReg(OpType, WrapReg, *MF);
1943 .addUse(GR.getSPIRVTypeID(OpType))
1985 .addUse(GR.getSPIRVTypeID(ResType));
2001 .addUse(GR.getSPIRVTypeID(ResType));
2050 .addUse(GR.getSPIRVTypeID(ResType))
2070 unsigned PonteeOpType = GR.getPointeeTypeOp(PtrReg);
2096 .addUse(GR.getSPIRVTypeID(ResType))
2123 .addUse(GR.getSPIRVTypeID(ResType))
2179 .addUse(GR.getSPIRVTypeID(ResType));
2193 Type *GVType = toTypedPointer(GR.getDeducedGlobalValueType(GV));
2197 GR.getOrCreateSPIRVType(GVType->getArrayElementType(), MIRBuilder,
2199 PointerBaseType = GR.getOrCreateSPIRVArrayType(
2202 PointerBaseType = GR.getOrCreateSPIRVType(
2205 SPIRVType *ResType = GR.getOrCreateSPIRVPointerType(
2232 Register NewReg = GR.find(ConstVal, GR.CurMF);
2235 GR.add(ConstVal, GR.CurMF, NewReg);
2251 .addUse(GR.getSPIRVTypeID(ResType))
2254 GR.recordFunctionPointer(&MB.getInstr()->getOperand(2), GVFun);
2259 .addUse(GR.getSPIRVTypeID(ResType))
2291 Register Reg = GR.buildGlobalVariable(ResVReg, ResType, GlobalIdent, GV,
2317 .addUse(GR.getSPIRVTypeID(ResType))
2329 ? GR.getSPIRVTypeForVReg(ResType->getOperand(1).getReg())
2332 GR.buildConstantFP(APFloat(0.30103f), MIRBuilder, SpirvScalarType);
2340 .addUse(GR.getSPIRVTypeID(ResType))
2356 const SPIRVType *U32Type = GR.getOrCreateSPIRVIntegerType(32, MIRBuilder);
2358 GR.getOrCreateSPIRVVectorType(U32Type, 3, MIRBuilder);
2359 const SPIRVType *PtrType = GR.getOrCreateSPIRVPointerType(
2366 GR.assignSPIRVTypeToVReg(PtrType, NewRegister, MIRBuilder.getMF());
2369 Register Variable = GR.buildGlobalVariable(
2379 GR.assignSPIRVTypeToVReg(Vec3Ty, LoadedRegister, MIRBuilder.getMF());
2384 .addUse(GR.getSPIRVTypeID(Vec3Ty))
2404 .addUse(GR.getSPIRVTypeID(ResType))