Lines Matching refs:Arguments
48 const SmallVectorImpl<Register> &Arguments; member
52 const SmallVectorImpl<Register> &Arguments) in IncomingCall()
55 Arguments(Arguments) {} in IncomingCall()
224 const SmallVectorImpl<Register> &Arguments) { in lookupBuiltin() argument
237 BuiltinName, Builtin, ReturnRegister, ReturnType, Arguments); in lookupBuiltin()
280 BuiltinName, Builtin, ReturnRegister, ReturnType, Arguments); in lookupBuiltin()
311 BuiltinName, Builtin, ReturnRegister, ReturnType, Arguments); in lookupBuiltin()
582 unsigned Sz = Call->Arguments.size() - ImmArgs.size();
584 Register ArgReg = Call->Arguments[i];
600 assert(Call->Arguments.size() == 2 && in buildAtomicInitInst()
602 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in buildAtomicInitInst()
603 MIRBuilder.getMRI()->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in buildAtomicInitInst()
605 .addUse(Call->Arguments[0]) in buildAtomicInitInst()
606 .addUse(Call->Arguments[1]); in buildAtomicInitInst()
618 Register PtrRegister = Call->Arguments[0]; in buildAtomicLoadInst()
624 if (Call->Arguments.size() > 1) { in buildAtomicLoadInst()
625 ScopeRegister = Call->Arguments[1]; in buildAtomicLoadInst()
631 if (Call->Arguments.size() > 2) { in buildAtomicLoadInst()
633 MemSemanticsReg = Call->Arguments[2]; in buildAtomicLoadInst()
660 Register PtrRegister = Call->Arguments[0]; in buildAtomicStoreInst()
666 MIRBuilder.getMRI()->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in buildAtomicStoreInst()
671 .addUse(Call->Arguments[1]); in buildAtomicStoreInst()
686 Register ObjectPtr = Call->Arguments[0]; // Pointer (volatile A *object.) in buildAtomicCompareExchangeInst()
687 Register ExpectedArg = Call->Arguments[1]; // Comparator (C* expected). in buildAtomicCompareExchangeInst()
688 Register Desired = Call->Arguments[2]; // Value (C Desired). in buildAtomicCompareExchangeInst()
719 if (Call->Arguments.size() >= 4) { in buildAtomicCompareExchangeInst()
720 assert(Call->Arguments.size() >= 5 && in buildAtomicCompareExchangeInst()
723 static_cast<std::memory_order>(getIConstVal(Call->Arguments[3], MRI)); in buildAtomicCompareExchangeInst()
725 static_cast<std::memory_order>(getIConstVal(Call->Arguments[4], MRI)); in buildAtomicCompareExchangeInst()
729 MemSemEqualReg = Call->Arguments[3]; in buildAtomicCompareExchangeInst()
731 MemSemUnequalReg = Call->Arguments[4]; in buildAtomicCompareExchangeInst()
732 MRI->setRegClass(Call->Arguments[3], &SPIRV::IDRegClass); in buildAtomicCompareExchangeInst()
733 MRI->setRegClass(Call->Arguments[4], &SPIRV::IDRegClass); in buildAtomicCompareExchangeInst()
742 if (Call->Arguments.size() >= 6) { in buildAtomicCompareExchangeInst()
743 assert(Call->Arguments.size() == 6 && in buildAtomicCompareExchangeInst()
746 getIConstVal(Call->Arguments[5], MRI)); in buildAtomicCompareExchangeInst()
749 ScopeReg = Call->Arguments[5]; in buildAtomicCompareExchangeInst()
750 MRI->setRegClass(Call->Arguments[5], &SPIRV::IDRegClass); in buildAtomicCompareExchangeInst()
793 Call->Arguments.size() >= 4 ? Call->Arguments[3] : Register(); in buildAtomicRMWInst()
795 assert(Call->Arguments.size() <= 4 && in buildAtomicRMWInst()
800 Register PtrRegister = Call->Arguments[0]; in buildAtomicRMWInst()
804 Call->Arguments.size() >= 3 ? Call->Arguments[2] : Register(); in buildAtomicRMWInst()
807 MRI->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in buildAtomicRMWInst()
808 Register ValueReg = Call->Arguments[1]; in buildAtomicRMWInst()
846 assert(Call->Arguments.size() == 4 && in buildAtomicFloatingRMWInst()
851 Register PtrReg = Call->Arguments[0]; in buildAtomicFloatingRMWInst()
854 Register ScopeReg = Call->Arguments[1]; in buildAtomicFloatingRMWInst()
857 Register MemSemanticsReg = Call->Arguments[2]; in buildAtomicFloatingRMWInst()
860 Register ValueReg = Call->Arguments[3]; in buildAtomicFloatingRMWInst()
885 Register PtrRegister = Call->Arguments[0]; in buildAtomicFlagInst()
888 Call->Arguments.size() >= 2 ? Call->Arguments[1] : Register(); in buildAtomicFlagInst()
898 Call->Arguments.size() >= 3 ? Call->Arguments[2] : Register(); in buildAtomicFlagInst()
919 unsigned MemFlags = getIConstVal(Call->Arguments[0], MRI); in buildBarrierInst()
933 static_cast<std::memory_order>(getIConstVal(Call->Arguments[1], MRI)); in buildBarrierInst()
941 MemSemanticsReg = Call->Arguments[0]; in buildBarrierInst()
949 if (Call->Arguments.size() >= 2) { in buildBarrierInst()
951 ((Opcode != SPIRV::OpMemoryBarrier && Call->Arguments.size() == 2) || in buildBarrierInst()
952 (Opcode == SPIRV::OpMemoryBarrier && Call->Arguments.size() == 3)) && in buildBarrierInst()
954 Register ScopeArg = (Opcode == SPIRV::OpMemoryBarrier) ? Call->Arguments[2] in buildBarrierInst()
955 : Call->Arguments[1]; in buildBarrierInst()
964 ScopeReg = Call->Arguments[1]; in buildBarrierInst()
1024 for (auto Argument : Call->Arguments) in generateExtInst()
1047 for (auto Argument : Call->Arguments) in generateRelationalInst()
1069 Register GroupOpReg = Call->Arguments[1]; in generateGroupInst()
1075 Register ScopeReg = Call->Arguments[0]; in generateGroupInst()
1083 for (unsigned i = 2; i < Call->Arguments.size(); ++i) { in generateGroupInst()
1084 Register ArgReg = Call->Arguments[i]; in generateGroupInst()
1094 Register ConstRegister = Call->Arguments[0]; in generateGroupInst()
1100 if (GR->getSPIRVTypeForVReg(Call->Arguments[0])->getOpcode() != in generateGroupInst()
1132 if (Call->Arguments.size() > 0) { in generateGroupInst()
1133 MIB.addUse(Arg0.isValid() ? Arg0 : Call->Arguments[0]); in generateGroupInst()
1134 MRI->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateGroupInst()
1135 for (unsigned i = 1; i < Call->Arguments.size(); i++) { in generateGroupInst()
1136 MIB.addUse(Call->Arguments[i]); in generateGroupInst()
1137 MRI->setRegClass(Call->Arguments[i], &SPIRV::IDRegClass); in generateGroupInst()
1175 if (SPIRVType *Arg0Type = GR->getSPIRVTypeForVReg(Call->Arguments[0])) { in generateIntelSubgroupsInst()
1209 for (size_t i = 0; i < Call->Arguments.size(); ++i) { in generateIntelSubgroupsInst()
1210 MIB.addUse(Call->Arguments[i]); in generateIntelSubgroupsInst()
1211 MRI->setRegClass(Call->Arguments[i], &SPIRV::IDRegClass); in generateIntelSubgroupsInst()
1238 Register ScopeReg = Call->Arguments[0]; in generateGroupUniformInst()
1242 Register ConstGroupOpReg = Call->Arguments[1]; in generateGroupUniformInst()
1255 Register ValueReg = Call->Arguments[2]; in generateGroupUniformInst()
1332 Register IndexRegister = Call->Arguments[0]; in genWorkgroupQuery()
1520 .addUse(Call->Arguments[0]); in generateCastToPtrInst()
1530 unsigned Opcode = GR->getSPIRVTypeForVReg(Call->Arguments[0])->getOpcode(); in generateDotOrFMulInst()
1536 .addUse(Call->Arguments[0]) in generateDotOrFMulInst()
1537 .addUse(Call->Arguments[1]); in generateDotOrFMulInst()
1584 SPIRVType *ImgType = GR->getSPIRVTypeForVReg(Call->Arguments[0]); in generateImageSizeQueryInst()
1600 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateImageSizeQueryInst()
1604 .addUse(Call->Arguments[0]); in generateImageSizeQueryInst()
1655 Register Image = Call->Arguments[0]; in generateImageMiscQueryInst()
1718 Register Image = Call->Arguments[0]; in generateReadImageInst()
1721 MRI->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in generateReadImageInst()
1725 MRI->setRegClass(Call->Arguments[2], &SPIRV::IDRegClass); in generateReadImageInst()
1727 Register Sampler = Call->Arguments[1]; in generateReadImageInst()
1767 .addUse(Call->Arguments[2]) // Coordinate. in generateReadImageInst()
1782 .addUse(Call->Arguments[1]) // Coordinate. in generateReadImageInst()
1784 .addUse(Call->Arguments[2]); in generateReadImageInst()
1790 .addUse(Call->Arguments[1]); // Coordinate. in generateReadImageInst()
1798 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateWriteImageInst()
1799 MIRBuilder.getMRI()->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in generateWriteImageInst()
1800 MIRBuilder.getMRI()->setRegClass(Call->Arguments[2], &SPIRV::IDRegClass); in generateWriteImageInst()
1802 .addUse(Call->Arguments[0]) // Image. in generateWriteImageInst()
1803 .addUse(Call->Arguments[1]) // Coordinate. in generateWriteImageInst()
1804 .addUse(Call->Arguments[2]); // Texel. in generateWriteImageInst()
1816 uint64_t Bitmask = getIConstVal(Call->Arguments[0], MRI); in generateSampleImageInst()
1824 Register Image = Call->Arguments[0]; in generateSampleImageInst()
1836 .addUse(Call->Arguments[1]); // Sampler. in generateSampleImageInst()
1855 MRI->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateSampleImageInst()
1856 MRI->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in generateSampleImageInst()
1857 MRI->setRegClass(Call->Arguments[3], &SPIRV::IDRegClass); in generateSampleImageInst()
1862 .addUse(Call->Arguments[0]) // Image. in generateSampleImageInst()
1863 .addUse(Call->Arguments[1]) // Coordinate. in generateSampleImageInst()
1865 .addUse(Call->Arguments[3]); in generateSampleImageInst()
1873 MIRBuilder.buildSelect(Call->ReturnRegister, Call->Arguments[0], in generateSelectInst()
1874 Call->Arguments[1], Call->Arguments[2]); in generateSelectInst()
1892 unsigned ArgSz = Call->Arguments.size(); in generateCoopMatrInst()
1901 ImmArgs.push_back(getConstFromIntrinsic(Call->Arguments[LiteralIdx], MRI)); in generateCoopMatrInst()
1904 SPIRVType *CoopMatrType = GR->getSPIRVTypeForVReg(Call->Arguments[0]); in generateCoopMatrInst()
1930 static_cast<unsigned>(getIConstVal(Call->Arguments[0], MRI)); in generateSpecConstantInst()
1934 Register ConstRegister = Call->Arguments[1]; in generateSpecConstantInst()
1964 for (unsigned i = 0; i < Call->Arguments.size(); i++) in generateSpecConstantInst()
1965 MIB.addUse(Call->Arguments[i]); in generateSpecConstantInst()
1977 MRI->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in buildNDRange()
1978 SPIRVType *PtrType = GR->getSPIRVTypeForVReg(Call->Arguments[0]); in buildNDRange()
1988 unsigned NumArgs = Call->Arguments.size(); in buildNDRange()
1990 Register GlobalWorkSize = Call->Arguments[NumArgs < 4 ? 1 : 2]; in buildNDRange()
1993 NumArgs == 2 ? Register(0) : Call->Arguments[NumArgs < 4 ? 2 : 3]; in buildNDRange()
1996 Register GlobalWorkOffset = NumArgs <= 3 ? Register(0) : Call->Arguments[1]; in buildNDRange()
2041 .addUse(Call->Arguments[0]) in buildNDRange()
2076 Register GepReg = Call->Arguments[LocalSizeArrayIdx]; in buildEnqueueKernel()
2113 MIB.addUse(Call->Arguments[i]); in buildEnqueueKernel()
2124 MachineInstr *BlockMI = getBlockStructInstr(Call->Arguments[BlockFIdx], MRI); in buildEnqueueKernel()
2129 Register BlockLiteralReg = Call->Arguments[BlockFIdx + 1]; in buildEnqueueKernel()
2157 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateEnqueueInst()
2158 return MIRBuilder.buildInstr(Opcode).addUse(Call->Arguments[0]); in generateEnqueueInst()
2165 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateEnqueueInst()
2169 .addUse(Call->Arguments[0]); in generateEnqueueInst()
2171 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateEnqueueInst()
2172 MIRBuilder.getMRI()->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in generateEnqueueInst()
2174 .addUse(Call->Arguments[0]) in generateEnqueueInst()
2175 .addUse(Call->Arguments[1]); in generateEnqueueInst()
2177 MIRBuilder.getMRI()->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateEnqueueInst()
2178 MIRBuilder.getMRI()->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in generateEnqueueInst()
2179 MIRBuilder.getMRI()->setRegClass(Call->Arguments[2], &SPIRV::IDRegClass); in generateEnqueueInst()
2181 .addUse(Call->Arguments[0]) in generateEnqueueInst()
2182 .addUse(Call->Arguments[1]) in generateEnqueueInst()
2183 .addUse(Call->Arguments[2]); in generateEnqueueInst()
2216 unsigned NumArgs = Call->Arguments.size(); in generateAsyncCopy()
2217 Register EventReg = Call->Arguments[NumArgs - 1]; in generateAsyncCopy()
2222 .addUse(Call->Arguments[0]) in generateAsyncCopy()
2223 .addUse(Call->Arguments[1]) in generateAsyncCopy()
2224 .addUse(Call->Arguments[2]) in generateAsyncCopy()
2225 .addUse(Call->Arguments.size() > 4 in generateAsyncCopy()
2226 ? Call->Arguments[3] in generateAsyncCopy()
2237 .addUse(Call->Arguments[0]) in generateAsyncCopy()
2238 .addUse(Call->Arguments[1]); in generateAsyncCopy()
2271 if (GR->isScalarOrVectorOfType(Call->Arguments[0], SPIRV::OpTypeInt)) { in generateConvertInst()
2291 GR->getScalarOrVectorComponentCount(Call->Arguments[0]) == in generateConvertInst()
2300 } else if (GR->isScalarOrVectorOfType(Call->Arguments[0], in generateConvertInst()
2312 GR->getScalarOrVectorComponentCount(Call->Arguments[0]) == in generateConvertInst()
2345 .addUse(Call->Arguments[0]); in generateConvertInst()
2363 for (auto Argument : Call->Arguments) in generateVectorLoadStoreInst()
2390 MIB.addUse(Call->Arguments[0]); in generateLoadStoreInst()
2392 MRI->setRegClass(Call->Arguments[0], &SPIRV::IDRegClass); in generateLoadStoreInst()
2395 MIB.addUse(Call->Arguments[1]); in generateLoadStoreInst()
2396 MRI->setRegClass(Call->Arguments[1], &SPIRV::IDRegClass); in generateLoadStoreInst()
2399 unsigned NumArgs = Call->Arguments.size(); in generateLoadStoreInst()
2401 MIB.addImm(getConstFromIntrinsic(Call->Arguments[IsLoad ? 1 : 2], MRI)); in generateLoadStoreInst()
2402 MRI->setRegClass(Call->Arguments[IsLoad ? 1 : 2], &SPIRV::IDRegClass); in generateLoadStoreInst()
2405 MIB.addImm(getConstFromIntrinsic(Call->Arguments[IsLoad ? 2 : 3], MRI)); in generateLoadStoreInst()
2406 MRI->setRegClass(Call->Arguments[IsLoad ? 2 : 3], &SPIRV::IDRegClass); in generateLoadStoreInst()