Lines Matching defs:GR

69   SPIRVGlobalRegistry &GR;
360 TRI(*ST.getRegisterInfo()), RBI(RBI), GR(*ST.getSPIRVGlobalRegistry()),
375 GR.setCurrentFunc(MF);
468 GR.invalidateMachineInstr(&I);
483 GR.invalidateMachineInstr(&I);
497 SPIRVType *ResType = HasDefs ? GR.getSPIRVTypeForVReg(ResVReg) : nullptr;
503 GR.invalidateMachineInstr(&I);
568 .addUse(GR.getSPIRVTypeID(ResType))
786 SPIRVType *GVType = GR.getSPIRVTypeForVReg(GV);
787 SPIRVType *GVPointeeType = GR.getPointeeType(GVType);
788 SPIRVType *ResPointeeType = GR.getPointeeType(ResType);
800 if (!GR.isBitcastCompatible(ResType, GVType))
803 Register ResTypeReg = GR.getSPIRVTypeID(ResType);
822 .addUse(GR.getSPIRVTypeID(ResType))
833 Register Idx = buildZerosVal(GR.getOrCreateSPIRVIntegerType(32, I, TII), I);
836 .addUse(GR.getSPIRVTypeID(ResType))
942 .addUse(GR.getSPIRVTypeID(ResType))
966 .addUse(GR.getSPIRVTypeID(ResType));
1002 .addUse(GR.getSPIRVTypeID(ResType))
1016 SPIRVType *OpType = OpReg.isValid() ? GR.getSPIRVTypeForVReg(OpReg) : nullptr;
1017 if (!GR.isBitcastCompatible(ResType, OpType))
1064 if (!loadHandleBeforePosition(NewImageReg, GR.getSPIRVTypeForVReg(ImageReg),
1076 .addUse(GR.getSPIRVTypeID(ResType))
1102 if (!loadHandleBeforePosition(NewImageReg, GR.getSPIRVTypeForVReg(ImageReg),
1142 .addUse(GR.getSPIRVTypeID(ResType))
1169 SPIRVType *ValTy = GR.getOrCreateSPIRVIntegerType(8, I, TII);
1170 SPIRVType *ArrTy = GR.getOrCreateSPIRVArrayType(ValTy, Num, I, TII);
1171 Register Const = GR.getOrCreateConstIntArray(Val, Num, I, ArrTy, TII);
1172 SPIRVType *VarTy = GR.getOrCreateSPIRVPointerType(
1175 Function &CurFunction = GR.CurMF->getFunction();
1183 GR.add(GV, GR.CurMF, VarReg);
1184 GR.addGlobalObject(GV, GR.CurMF, VarReg);
1189 .addUse(GR.getSPIRVTypeID(VarTy))
1194 SPIRVType *SourceTy = GR.getOrCreateSPIRVPointerType(
1220 GR.CurMF->getFunction().getContext(), MemOp->getSyncScopeID()));
1228 // getMemSemanticsForStorageClass(GR.getPointerStorageClass(Ptr));
1246 .addUse(GR.getSPIRVTypeID(ResType))
1259 SrcReg.isValid() ? GR.getSPIRVTypeForVReg(SrcReg) : nullptr;
1265 GR.getSPIRVTypeForVReg(DefType->getOperand(1).getReg());
1270 SPIRVType *ResType = GR.getSPIRVTypeForVReg(ResVReg);
1274 MRI->setRegClass(ResVReg, GR.getRegClass(ResType));
1275 MRI->setType(ResVReg, LLT::scalar(GR.getScalarOrVectorBitWidth(ResType)));
1276 GR.assignSPIRVTypeToVReg(ResType, ResVReg, *GR.CurMF);
1281 .addUse(GR.getSPIRVTypeID(ResType))
1297 getMemScope(GR.CurMF->getFunction().getContext(), Ord));
1315 if (!GR.findValueAttrs(&I, ResTy, ResName))
1327 SPIRVType *StructType = GR.getOrCreateSPIRVType(
1330 SPIRVType *BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
1331 unsigned N = GR.getScalarOrVectorComponentCount(ResType);
1333 BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
1334 Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
1347 .addUse(GR.getSPIRVTypeID(StructType));
1359 .addUse(GR.getSPIRVTypeID(ResType))
1385 GR.CurMF->getFunction().getContext(), MemOp->getSyncScopeID()));
1391 getMemSemanticsForStorageClass(GR.getPointerStorageClass(Ptr)));
1414 SPIRVType *SpvValTy = GR.getSPIRVTypeForVReg(Val);
1420 .addUse(GR.getSPIRVTypeID(SpvValTy))
1429 SPIRVType *BoolTy = GR.getOrCreateSPIRVBoolType(I, TII);
1432 .addUse(GR.getSPIRVTypeID(BoolTy))
1439 .addUse(GR.getSPIRVTypeID(ResType))
1441 .addUse(GR.getOrCreateUndef(I, ResType, TII))
1447 .addUse(GR.getSPIRVTypeID(ResType))
1493 return GR.getSPIRVTypeID(GR.getOrCreateSPIRVPointerType(
1494 GR.getOrCreateSPIRVIntegerType(8, I, TII), I, TII, SC));
1512 SPIRVType *GenericPtrTy = GR.getOrCreateSPIRVPointerType(
1513 GR.getPointeeType(SrcPtrTy), I, TII, SPIRV::StorageClass::Generic);
1517 GR.getPointerSize()));
1519 GR.assignSPIRVTypeToVReg(GenericPtrTy, Tmp, *MF);
1521 I, Tmp, SrcPtr, GR.getSPIRVTypeID(GenericPtrTy),
1523 GR.add(MIB.getInstr(), MF, Tmp);
1539 SPIRVType *SrcPtrTy = GR.getSPIRVTypeForVReg(SrcPtr);
1546 SPIRV::StorageClass::StorageClass SrcSC = GR.getPointerStorageClass(SrcPtrTy);
1547 SPIRV::StorageClass::StorageClass DstSC = GR.getPointerStorageClass(ResType);
1599 SPIRVType *GenericPtrTy = GR.getOrCreateSPIRVPointerType(
1600 GR.getPointeeType(SrcPtrTy), I, TII, SPIRV::StorageClass::Generic);
1603 .addUse(GR.getSPIRVTypeID(GenericPtrTy))
1608 .addUse(GR.getSPIRVTypeID(ResType))
1754 SPIRVType *InputType = GR.getSPIRVTypeForVReg(InputRegister);
1759 bool IsBoolTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeBool);
1766 bool IsFloatTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeFloat);
1769 SPIRVType *SpvBoolScalarTy = GR.getOrCreateSPIRVBoolType(I, TII);
1777 SpvBoolTy = GR.getOrCreateSPIRVVectorType(SpvBoolTy, NumElts, I, TII);
1787 .addUse(GR.getSPIRVTypeID(SpvBoolTy))
1798 .addUse(GR.getSPIRVTypeID(SpvBoolScalarTy))
1824 GR.getSPIRVTypeForVReg(I.getOperand(2).getReg());
1827 GR.getScalarOrVectorComponentCount(VecType) > 1 &&
1831 GR.getSPIRVTypeForVReg(VecType->getOperand(1).getReg());
1838 .addUse(GR.getSPIRVTypeID(ResType))
1856 .addUse(GR.getSPIRVTypeID(ResType))
1874 Register TmpVec = MRI->createVirtualRegister(GR.getRegClass(ResType));
1875 SPIRVType *VecType = GR.getSPIRVTypeForVReg(Vec0);
1879 .addUse(GR.getSPIRVTypeID(VecType))
1885 GR.getScalarOrVectorComponentCount(VecType) > 1 &&
1888 Register Res = MRI->createVirtualRegister(GR.getRegClass(ResType));
1891 .addUse(GR.getSPIRVTypeID(ResType))
1896 for (unsigned i = 1; i < GR.getScalarOrVectorComponentCount(VecType); i++) {
1897 Register Elt = MRI->createVirtualRegister(GR.getRegClass(ResType));
1902 .addUse(GR.getSPIRVTypeID(ResType))
1907 Register Sum = i < GR.getScalarOrVectorComponentCount(VecType) - 1
1908 ? MRI->createVirtualRegister(GR.getRegClass(ResType))
1913 .addUse(GR.getSPIRVTypeID(ResType))
1934 Register Dot = MRI->createVirtualRegister(GR.getRegClass(ResType));
1937 .addUse(GR.getSPIRVTypeID(ResType))
1944 .addUse(GR.getSPIRVTypeID(ResType))
1966 SPIRVType *EltType = GR.getOrCreateSPIRVIntegerType(8, I, TII);
1976 .addUse(GR.getSPIRVTypeID(ResType))
1978 .addUse(GR.getOrCreateConstInt(i * 8, I, EltType, TII))
1979 .addUse(GR.getOrCreateConstInt(8, I, EltType, TII))
1986 .addUse(GR.getSPIRVTypeID(ResType))
1988 .addUse(GR.getOrCreateConstInt(i * 8, I, EltType, TII))
1989 .addUse(GR.getOrCreateConstInt(8, I, EltType, TII))
1996 .addUse(GR.getSPIRVTypeID(ResType))
2005 .addUse(GR.getSPIRVTypeID(ResType))
2007 .addUse(GR.getOrCreateConstInt(0, I, EltType, TII))
2008 .addUse(GR.getOrCreateConstInt(8, I, EltType, TII))
2016 .addUse(GR.getSPIRVTypeID(ResType))
2040 .addUse(GR.getSPIRVTypeID(ResType))
2056 SPIRVType *InputType = GR.getSPIRVTypeForVReg(InputRegister);
2062 bool IsFloatTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeFloat);
2064 unsigned SignBitWidth = GR.getScalarOrVectorBitWidth(InputType);
2065 unsigned ResBitWidth = GR.getScalarOrVectorBitWidth(ResType);
2077 .addUse(GR.getSPIRVTypeID(InputType))
2087 .addUse(GR.getSPIRVTypeID(ResType))
2100 SPIRVType *IntTy = GR.getOrCreateSPIRVIntegerType(32, I, TII);
2104 .addUse(GR.getSPIRVTypeID(ResType))
2105 .addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I,
2118 SPIRVType *IntTy = GR.getOrCreateSPIRVIntegerType(32, I, TII);
2119 SPIRVType *BallotType = GR.getOrCreateSPIRVVectorType(IntTy, 4, I, TII);
2120 Register BallotReg = MRI->createVirtualRegister(GR.getRegClass(BallotType));
2129 .addUse(GR.getSPIRVTypeID(ResType))
2130 .addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I, IntTy, TII))
2146 SPIRVType *InputType = GR.getSPIRVTypeForVReg(InputRegister);
2151 SPIRVType *IntTy = GR.getOrCreateSPIRVIntegerType(32, I, TII);
2153 bool IsFloatTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeFloat);
2159 .addUse(GR.getSPIRVTypeID(ResType))
2160 .addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I, IntTy, TII))
2173 SPIRVType *InputType = GR.getSPIRVTypeForVReg(InputRegister);
2178 SPIRVType *IntTy = GR.getOrCreateSPIRVIntegerType(32, I, TII);
2180 bool IsFloatTy = GR.isScalarOrVectorOfType(InputRegister, SPIRV::OpTypeFloat);
2185 .addUse(GR.getSPIRVTypeID(ResType))
2186 .addUse(GR.getOrCreateConstInt(SPIRV::Scope::Subgroup, I, IntTy, TII))
2197 .addUse(GR.getSPIRVTypeID(ResType))
2312 N = GR.getScalarOrVectorComponentCount(ResType);
2331 MRI->setRegClass(ResVReg, GR.getRegClass(ResType));
2336 .addUse(GR.getSPIRVTypeID(ResType));
2347 N = GR.getScalarOrVectorComponentCount(ResType);
2365 MRI->setRegClass(ResVReg, GR.getRegClass(ResType));
2370 .addUse(GR.getSPIRVTypeID(ResType));
2390 GR.invalidateMachineInstr(NextI);
2406 assert(GR.getSPIRVTypeForVReg(Cmp0)->getOpcode() ==
2407 GR.getSPIRVTypeForVReg(Cmp1)->getOpcode() &&
2411 .addUse(GR.getSPIRVTypeID(ResType))
2424 if (GR.isScalarOfType(CmpOperand, SPIRV::OpTypePointer))
2426 else if (GR.isScalarOrVectorOfType(CmpOperand, SPIRV::OpTypeBool))
2453 Type *LLVMTy = IntegerType::get(GR.CurMF->getFunction().getContext(), 32);
2455 ResType ? ResType : GR.getOrCreateSPIRVIntegerType(32, I, TII);
2458 Register NewReg = GR.find(ConstInt, GR.CurMF);
2462 GR.add(ConstInt, GR.CurMF, NewReg);
2468 .addUse(GR.getSPIRVTypeID(SpvI32Ty));
2472 .addUse(GR.getSPIRVTypeID(SpvI32Ty))
2492 return GR.getOrCreateConstVector(0UL, I, ResType, TII, ZeroAsNull);
2493 return GR.getOrCreateConstInt(0, I, ResType, TII, ZeroAsNull);
2500 APFloat VZero = getZeroFP(GR.getTypeForSPIRVType(ResType));
2502 return GR.getOrCreateConstVector(VZero, I, ResType, TII, ZeroAsNull);
2503 return GR.getOrCreateConstFP(VZero, I, ResType, TII, ZeroAsNull);
2510 APFloat VOne = getOneFP(GR.getTypeForSPIRVType(ResType));
2512 return GR.getOrCreateConstVector(VOne, I, ResType, TII, ZeroAsNull);
2513 return GR.getOrCreateConstFP(VOne, I, ResType, TII, ZeroAsNull);
2519 unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
2523 return GR.getOrCreateConstVector(One.getZExtValue(), I, ResType, TII);
2524 return GR.getOrCreateConstInt(One.getZExtValue(), I, ResType, TII);
2535 GR.isScalarOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool);
2540 .addUse(GR.getSPIRVTypeID(ResType))
2554 if (GR.isScalarOrVectorOfType(I.getOperand(1).getReg(), SPIRV::OpTypeBool)) {
2555 unsigned BitWidth = GR.getScalarOrVectorBitWidth(ResType);
2556 SPIRVType *TmpType = GR.getOrCreateSPIRVIntegerType(BitWidth, I, TII);
2559 TmpType = GR.getOrCreateSPIRVVectorType(TmpType, NumElts, I, TII);
2571 if (GR.isScalarOrVectorOfType(SrcReg, SPIRV::OpTypeBool))
2574 SPIRVType *SrcType = GR.getSPIRVTypeForVReg(SrcReg);
2590 SPIRVType *BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
2591 unsigned N = GR.getScalarOrVectorComponentCount(ResType);
2593 BoolType = GR.getOrCreateSPIRVVectorType(BoolType, N, I, TII);
2594 Register BoolTypeReg = GR.getSPIRVTypeID(BoolType);
2598 Register IsLessEqReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
2600 GR.assignSPIRVTypeToVReg(ResType, IsLessEqReg, MIRBuilder.getMF());
2609 Register IsLessReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
2611 GR.assignSPIRVTypeToVReg(ResType, IsLessReg, MIRBuilder.getMF());
2620 Register ResTypeReg = GR.getSPIRVTypeID(ResType);
2622 MRI->createVirtualRegister(GR.getRegClass(ResType));
2624 GR.assignSPIRVTypeToVReg(ResType, NegOneOrZeroReg, MIRBuilder.getMF());
2657 .addUse(GR.getSPIRVTypeID(IntTy))
2663 .addUse(GR.getSPIRVTypeID(BoolTy))
2673 const SPIRVType *ArgType = GR.getSPIRVTypeForVReg(IntReg);
2674 if (GR.isScalarOrVectorOfType(ResVReg, SPIRV::OpTypeBool))
2678 bool IsSigned = GR.isScalarOrVectorSigned(ResType);
2694 .addUse(GR.getSPIRVTypeID(ResType))
2698 Register Reg = GR.getOrCreateConstInt(Imm.getZExtValue(), I, ResType, TII);
2703 .addUse(GR.getSPIRVTypeID(ResType));
2715 .addUse(GR.getSPIRVTypeID(ResType))
2745 .addUse(GR.getSPIRVTypeID(ResType))
2761 .addUse(GR.getSPIRVTypeID(ResType))
2776 .addUse(GR.getSPIRVTypeID(ResType))
2791 .addUse(GR.getSPIRVTypeID(ResType))
2813 .addUse(GR.getSPIRVTypeID(ResType))
2834 SPIRVType *OpType = GR.getSPIRVTypeForVReg(OpReg);
2838 GR.isAggregateType(OpType)) {
2845 Register WrapReg = GR.find(OpDefine, MF);
2851 WrapReg = MRI->createVirtualRegister(GR.getRegClass(OpType));
2852 GR.add(OpDefine, MF, WrapReg);
2856 GR.assignSPIRVTypeToVReg(OpType, WrapReg, *MF);
2860 .addUse(GR.getSPIRVTypeID(OpType))
2902 .addUse(GR.getSPIRVTypeID(ResType));
2916 MRI->setRegClass(ResVReg, GR.getRegClass(ResType));
2919 .addUse(GR.getSPIRVTypeID(ResType));
2987 .addUse(GR.getSPIRVTypeID(ResType))
2997 .addUse(GR.getSPIRVTypeID(ResType))
3187 if (!loadHandleBeforePosition(NewImageReg, GR.getSPIRVTypeForVReg(ImageReg),
3204 uint64_t ResultSize = GR.getScalarOrVectorComponentCount(ResType);
3208 .addUse(GR.getSPIRVTypeID(ResType))
3215 Register ReadReg = MRI->createVirtualRegister(GR.getRegClass(ReadType));
3219 .addUse(GR.getSPIRVTypeID(ReadType))
3230 .addUse(GR.getSPIRVTypeID(ResType))
3244 SPIRVType *RegType = GR.getResultType(ResourcePtr);
3259 SPIRVType *InputType = GR.getResultType(ReadReg);
3261 GR.getScalarOrVectorComponentCount(InputType);
3262 uint64_t ResultSize = GR.getScalarOrVectorComponentCount(ResType);
3268 SPIRVType *ScalarType = GR.getScalarOrVectorComponentType(ResType);
3269 const TargetRegisterClass *ScalarRegClass = GR.getRegClass(ScalarType);
3289 .addUse(GR.getSPIRVTypeID(ResType));
3307 if (!loadHandleBeforePosition(NewImageReg, GR.getSPIRVTypeForVReg(ImageReg),
3314 assert(GR.getResultType(DataReg)->getOpcode() == SPIRV::OpTypeVector);
3315 assert(GR.getScalarOrVectorComponentCount(GR.getResultType(DataReg)) == 4);
3329 return GR.getOrCreateGlobalVariableWithBinding(ResType, Set, Binding,
3332 const SPIRVType *VarType = GR.getOrCreateSPIRVArrayType(
3334 Register VarReg = GR.getOrCreateGlobalVariableWithBinding(
3337 SPIRVType *ResPointerType = GR.getOrCreateSPIRVPointerType(
3350 .addUse(GR.getSPIRVTypeID(ResPointerType))
3360 Register ExtReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
3373 .addUse(GR.getSPIRVTypeID(ResType))
3388 unsigned ComponentCount = GR.getScalarOrVectorComponentCount(ResType);
3392 SPIRVType *BaseType = GR.retrieveScalarOrVectorIntType(ResType);
3393 SPIRVType *I64Type = GR.getOrCreateSPIRVIntegerType(64, MIRBuilder);
3394 SPIRVType *I64x2Type = GR.getOrCreateSPIRVVectorType(I64Type, 2, MIRBuilder);
3396 GR.getOrCreateSPIRVVectorType(BaseType, 2, MIRBuilder);
3406 MRI->createVirtualRegister(GR.getRegClass(I64x2Type));
3411 .addUse(GR.getSPIRVTypeID(I64x2Type))
3421 MRI->createVirtualRegister(GR.getRegClass(Vec2ResType));
3433 Register FinalElemReg = MRI->createVirtualRegister(GR.getRegClass(I64Type));
3434 Register ConstIntLastIdx = GR.getOrCreateConstInt(
3442 MRI->createVirtualRegister(GR.getRegClass(BaseType));
3460 unsigned ComponentCount = GR.getScalarOrVectorComponentCount(ResType);
3461 SPIRVType *BaseType = GR.retrieveScalarOrVectorIntType(ResType);
3464 GR.getOrCreateConstInt(0, I, BaseType, TII, ZeroAsNull);
3466 GR.getOrCreateConstInt(1, I, BaseType, TII, ZeroAsNull);
3480 GR.getOrCreateSPIRVVectorType(BaseType, 2 * ComponentCount, MIRBuilder);
3482 MRI->createVirtualRegister(GR.getRegClass(PostCastType));
3489 Register FBSReg = MRI->createVirtualRegister(GR.getRegClass(PostCastType));
3494 Register HighReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
3495 Register LowReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
3511 .addUse(GR.getSPIRVTypeID(ResType))
3527 .addUse(GR.getSPIRVTypeID(ResType))
3542 SPIRVType *BoolType = GR.getOrCreateSPIRVBoolType(I, TII);
3551 GR.getOrCreateConstInt((unsigned)-1, I, ResType, TII, ZeroAsNull);
3552 Reg0 = GR.getOrCreateConstInt(0, I, ResType, TII, ZeroAsNull);
3553 Reg32 = GR.getOrCreateConstInt(32, I, ResType, TII, ZeroAsNull);
3558 GR.getOrCreateSPIRVVectorType(BoolType, ComponentCount, MIRBuilder);
3560 GR.getOrCreateConstVector((unsigned)-1, I, ResType, TII, ZeroAsNull);
3561 Reg0 = GR.getOrCreateConstVector(0, I, ResType, TII, ZeroAsNull);
3562 Reg32 = GR.getOrCreateConstVector(32, I, ResType, TII, ZeroAsNull);
3582 Register BReg = MRI->createVirtualRegister(GR.getRegClass(BoolType));
3588 Register TmpReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
3594 Register ValReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
3608 SPIRVType *OpType = GR.getSPIRVTypeForVReg(OpReg);
3613 switch (GR.getScalarOrVectorBitWidth(OpType)) {
3632 SPIRVType *OpType = GR.getSPIRVTypeForVReg(OpReg);
3639 switch (GR.getScalarOrVectorBitWidth(OpType)) {
3661 .addUse(GR.getSPIRVTypeID(ResType))
3680 .addUse(GR.getSPIRVTypeID(ResType))
3742 .addUse(GR.getSPIRVTypeID(ResType));
3759 Type *GVType = toTypedPointer(GR.getDeducedGlobalValueType(GV));
3763 GR.getOrCreateSPIRVType(GVType->getArrayElementType(), MIRBuilder,
3765 PointerBaseType = GR.getOrCreateSPIRVArrayType(
3768 PointerBaseType = GR.getOrCreateSPIRVType(
3795 Register NewReg = GR.find(ConstVal, GR.CurMF);
3798 GR.add(ConstVal, GR.CurMF, NewReg);
3803 SPIRVType *ResType = GR.getOrCreateSPIRVPointerType(
3811 Register ResTypeReg = GR.getSPIRVTypeID(ResType);
3814 MRI->createGenericVirtualRegister(GR.getRegType(ResType));
3827 GR.recordFunctionPointer(&MIB2.getInstr()->getOperand(2), GVFun);
3833 .addUse(GR.getSPIRVTypeID(ResType))
3860 GR.getOrCreateSPIRVPointerType(PointerBaseType, I, TII, StorageClass);
3861 Register Reg = GR.buildGlobalVariable(
3883 Register VarReg = MRI->createVirtualRegister(GR.getRegClass(ResType));
3887 .addUse(GR.getSPIRVTypeID(ResType))
3899 ? GR.getSPIRVTypeForVReg(ResType->getOperand(1).getReg())
3902 GR.buildConstantFP(APFloat(0.30103f), MIRBuilder, SpirvScalarType);
3910 .addUse(GR.getSPIRVTypeID(ResType))
3923 const SPIRVType *U32Type = GR.getOrCreateSPIRVIntegerType(32, MIRBuilder);
3925 GR.getOrCreateSPIRVVectorType(U32Type, 3, MIRBuilder);
3926 const SPIRVType *PtrType = GR.getOrCreateSPIRVPointerType(
3933 GR.assignSPIRVTypeToVReg(PtrType, NewRegister, MIRBuilder.getMF());
3937 Register Variable = GR.buildGlobalVariable(
3946 GR.assignSPIRVTypeToVReg(Vec3Ty, LoadedRegister, MIRBuilder.getMF());
3952 .addUse(GR.getSPIRVTypeID(Vec3Ty))
3964 .addUse(GR.getSPIRVTypeID(ResType))
3974 return GR.getOrCreateSPIRVVectorType(Type, 4, MIRBuilder);
3981 const SPIRVType *ScalarType = GR.getSPIRVTypeForVReg(ScalarTypeReg);
3982 return GR.getOrCreateSPIRVVectorType(ScalarType, 4, MIRBuilder);
4010 .addUse(GR.getSPIRVTypeID(ResType))