Lines Matching refs:TII
50 const SPIRVInstrInfo &TII; member in __anonaa48b9b60111::SPIRVInstructionSelector
198 : InstructionSelector(), STI(ST), TII(*ST.getInstrInfo()), in SPIRVInstructionSelector()
245 return constrainSelectedInstRegOperands(I, TII, TRI, RBI); in select()
294 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpVectorShuffle)) in spvSelect()
301 return MIB.constrainAllUses(TII, TRI, RBI); in spvSelect()
452 Register Idx = buildZerosVal(GR.getOrCreateSPIRVIntegerType(32, I, TII), I); in spvSelect()
454 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpSpecConstantOp)) in spvSelect()
462 return MIB.constrainAllUses(TII, TRI, RBI); in spvSelect()
524 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpExtInst)) in selectExtInst()
532 return MIB.constrainAllUses(TII, TRI, RBI); in selectExtInst()
543 return BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(Opcode)) in selectUnOpWithSrc()
547 .constrainAllUses(TII, TRI, RBI); in selectUnOpWithSrc()
602 auto MIB = BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpLoad)) in selectLoad()
614 return MIB.constrainAllUses(TII, TRI, RBI); in selectLoad()
622 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpStore)) in selectStore()
633 return MIB.constrainAllUses(TII, TRI, RBI); in selectStore()
644 SPIRVType *ValTy = GR.getOrCreateSPIRVIntegerType(8, I, TII); in selectMemOperation()
645 SPIRVType *ArrTy = GR.getOrCreateSPIRVArrayType(ValTy, Num, I, TII); in selectMemOperation()
646 Register Const = GR.getOrCreateConsIntArray(Val, I, ArrTy, TII); in selectMemOperation()
648 ArrTy, I, TII, SPIRV::StorageClass::UniformConstant); in selectMemOperation()
657 buildOpDecorate(VarReg, I, TII, SPIRV::Decoration::Constant, {}); in selectMemOperation()
658 BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpVariable)) in selectMemOperation()
663 .constrainAllUses(TII, TRI, RBI); in selectMemOperation()
665 ValTy, I, TII, SPIRV::StorageClass::UniformConstant); in selectMemOperation()
669 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCopyMemorySized)) in selectMemOperation()
675 bool Result = MIB.constrainAllUses(TII, TRI, RBI); in selectMemOperation()
677 BuildMI(BB, I, I.getDebugLoc(), TII.get(TargetOpcode::COPY), ResVReg) in selectMemOperation()
699 return BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(NewOpcode)) in selectAtomicRMW()
706 .constrainAllUses(TII, TRI, RBI); in selectAtomicRMW()
717 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpMemoryBarrier)) in selectFence()
720 .constrainAllUses(TII, TRI, RBI); in selectFence()
757 BuildMI(*I.getParent(), I, DL, TII.get(SPIRV::OpAtomicCompareExchange)) in selectAtomicCmpXchg()
766 .constrainAllUses(TII, TRI, RBI); in selectAtomicCmpXchg()
768 SPIRVType *BoolTy = GR.getOrCreateSPIRVBoolType(I, TII); in selectAtomicCmpXchg()
769 Result |= BuildMI(*I.getParent(), I, DL, TII.get(SPIRV::OpIEqual)) in selectAtomicCmpXchg()
774 .constrainAllUses(TII, TRI, RBI); in selectAtomicCmpXchg()
776 Result |= BuildMI(*I.getParent(), I, DL, TII.get(SPIRV::OpCompositeInsert)) in selectAtomicCmpXchg()
780 .addUse(GR.getOrCreateUndef(I, ResType, TII)) in selectAtomicCmpXchg()
782 .constrainAllUses(TII, TRI, RBI); in selectAtomicCmpXchg()
783 Result |= BuildMI(*I.getParent(), I, DL, TII.get(SPIRV::OpCompositeInsert)) in selectAtomicCmpXchg()
789 .constrainAllUses(TII, TRI, RBI); in selectAtomicCmpXchg()
821 SPIRVType *SpvBaseTy = GR.getOrCreateSPIRVIntegerType(8, I, TII); in selectAddrSpaceCast()
822 ResType = GR.getOrCreateSPIRVPointerType(SpvBaseTy, I, TII, in selectAddrSpaceCast()
825 BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpSpecConstantOp)) in selectAddrSpaceCast()
830 .constrainAllUses(TII, TRI, RBI); in selectAddrSpaceCast()
848 SrcPtrTy, I, TII, SPIRV::StorageClass::Generic); in selectAddrSpaceCast()
851 bool Success = BuildMI(BB, I, DL, TII.get(SPIRV::OpPtrCastToGeneric)) in selectAddrSpaceCast()
855 .constrainAllUses(TII, TRI, RBI); in selectAddrSpaceCast()
856 return Success && BuildMI(BB, I, DL, TII.get(SPIRV::OpGenericCastToPtr)) in selectAddrSpaceCast()
860 .constrainAllUses(TII, TRI, RBI); in selectAddrSpaceCast()
959 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpBitReverse)) in selectBitreverse()
963 .constrainAllUses(TII, TRI, RBI); in selectBitreverse()
987 TII.get(SPIRV::OpConstantComposite)) in selectConstVector()
992 return MIB.constrainAllUses(TII, TRI, RBI); in selectConstVector()
1004 return BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(CmpOpc)) in selectCmp()
1009 .constrainAllUses(TII, TRI, RBI); in selectCmp()
1050 ResType ? ResType : GR.getOrCreateSPIRVIntegerType(32, I, TII); in buildI32Constant()
1060 MI = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantNull)) in buildI32Constant()
1064 MI = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantI)) in buildI32Constant()
1069 constrainSelectedInstRegOperands(*MI, TII, TRI, RBI); in buildI32Constant()
1084 return GR.getOrCreateConsIntVector(0, I, ResType, TII); in buildZerosVal()
1085 return GR.getOrCreateConstInt(0, I, ResType, TII); in buildZerosVal()
1095 return GR.getOrCreateConsIntVector(One.getZExtValue(), I, ResType, TII); in buildOnesVal()
1096 return GR.getOrCreateConstInt(One.getZExtValue(), I, ResType, TII); in buildOnesVal()
1110 return BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(Opcode)) in selectSelect()
1116 .constrainAllUses(TII, TRI, RBI); in selectSelect()
1128 SPIRVType *TmpType = GR.getOrCreateSPIRVIntegerType(BitWidth, I, TII); in selectIToF()
1131 TmpType = GR.getOrCreateSPIRVVectorType(TmpType, NumElts, I, TII); in selectIToF()
1160 BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode)) in selectIntToBool()
1165 .constrainAllUses(TII, TRI, RBI); in selectIntToBool()
1166 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpINotEqual)) in selectIntToBool()
1171 .constrainAllUses(TII, TRI, RBI); in selectIntToBool()
1196 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantNull)) in selectConst()
1199 .constrainAllUses(TII, TRI, RBI); in selectConst()
1202 Register Reg = GR.getOrCreateConstInt(Imm.getZExtValue(), I, ResType, TII); in selectConst()
1205 return BuildMI(BB, I, I.getDebugLoc(), TII.get(TargetOpcode::COPY)) in selectConst()
1208 .constrainAllUses(TII, TRI, RBI); in selectConst()
1210 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantI)) in selectConst()
1216 return MIB.constrainAllUses(TII, TRI, RBI); in selectConst()
1222 return BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpUndef)) in selectOpUndef()
1225 .constrainAllUses(TII, TRI, RBI); in selectOpUndef()
1249 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeInsert)) in selectInsertVal()
1258 return MIB.constrainAllUses(TII, TRI, RBI); in selectInsertVal()
1265 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpCompositeExtract)) in selectExtractVal()
1271 return MIB.constrainAllUses(TII, TRI, RBI); in selectExtractVal()
1280 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpVectorInsertDynamic)) in selectInsertElt()
1286 .constrainAllUses(TII, TRI, RBI); in selectInsertElt()
1295 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpVectorExtractDynamic)) in selectExtractElt()
1300 .constrainAllUses(TII, TRI, RBI); in selectExtractElt()
1317 auto Res = BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(Opcode)) in selectGEP()
1329 return Res.constrainAllUses(TII, TRI, RBI); in selectGEP()
1361 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpUndef)) in selectIntrinsic()
1364 return MIB.constrainAllUses(TII, TRI, RBI); in selectIntrinsic()
1371 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode)) in selectIntrinsic()
1381 return MIB.constrainAllUses(TII, TRI, RBI); in selectIntrinsic()
1384 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpName)); in selectIntrinsic()
1390 return MIB.constrainAllUses(TII, TRI, RBI); in selectIntrinsic()
1393 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpSwitch)); in selectIntrinsic()
1404 return MIB.constrainAllUses(TII, TRI, RBI); in selectIntrinsic()
1409 BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpUnreachable)); in selectIntrinsic()
1415 BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpAssumeTrueKHR)) in selectIntrinsic()
1420 BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpExpectKHR)) in selectIntrinsic()
1435 return BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpVariable)) in selectFrameIndex()
1439 .constrainAllUses(TII, TRI, RBI); in selectFrameIndex()
1450 return BuildMI(MBB, I, I.getDebugLoc(), TII.get(SPIRV::OpBranchConditional)) in selectBranch()
1454 .constrainAllUses(TII, TRI, RBI); in selectBranch()
1456 return BuildMI(MBB, I, I.getDebugLoc(), TII.get(SPIRV::OpBranch)) in selectBranch()
1458 .constrainAllUses(TII, TRI, RBI); in selectBranch()
1481 return BuildMI(MBB, I, I.getDebugLoc(), TII.get(SPIRV::OpBranchConditional)) in selectBranchCond()
1485 .constrainAllUses(TII, TRI, RBI); in selectBranchCond()
1491 auto MIB = BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpPhi)) in selectPhi()
1499 return MIB.constrainAllUses(TII, TRI, RBI); in selectPhi()
1514 ArrayElementType, GVType->getArrayNumElements(), I, TII); in selectGlobalValue()
1520 PointerBaseType, I, TII, in selectGlobalValue()
1534 return BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantNull)) in selectGlobalValue()
1537 .constrainAllUses(TII, TRI, RBI); in selectGlobalValue()
1540 return BuildMI(BB, I, I.getDebugLoc(), TII.get(TargetOpcode::COPY)) in selectGlobalValue()
1543 .constrainAllUses(TII, TRI, RBI); in selectGlobalValue()
1589 BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpExtInst)) in selectLog10()
1595 .constrainAllUses(TII, TRI, RBI); in selectLog10()
1612 Result &= BuildMI(BB, I, I.getDebugLoc(), TII.get(Opcode)) in selectLog10()
1617 .constrainAllUses(TII, TRI, RBI); in selectLog10()