Lines Matching refs:Query

67   return [=](const LegalityQuery &Query) {  in isSmallOddVector()  argument
68 const LLT Ty = Query.Types[TypeIdx]; in isSmallOddVector()
81 return [=](const LegalityQuery &Query) { in sizeIsMultipleOf32() argument
82 const LLT Ty = Query.Types[TypeIdx]; in sizeIsMultipleOf32()
88 return [=](const LegalityQuery &Query) { in isWideVec16() argument
89 const LLT Ty = Query.Types[TypeIdx]; in isWideVec16()
96 return [=](const LegalityQuery &Query) { in oneMoreElement() argument
97 const LLT Ty = Query.Types[TypeIdx]; in oneMoreElement()
105 return [=](const LegalityQuery &Query) { in fewerEltsToSize64Vector() argument
106 const LLT Ty = Query.Types[TypeIdx]; in fewerEltsToSize64Vector()
120 return [=](const LegalityQuery &Query) { in moreEltsToNext32Bit() argument
121 const LLT Ty = Query.Types[TypeIdx]; in moreEltsToNext32Bit()
148 return [=](const LegalityQuery &Query) { in bitcastToRegisterType() argument
149 const LLT Ty = Query.Types[TypeIdx]; in bitcastToRegisterType()
155 return [=](const LegalityQuery &Query) { in bitcastToVectorElement32() argument
156 const LLT Ty = Query.Types[TypeIdx]; in bitcastToVectorElement32()
165 return [=](const LegalityQuery &Query) { in vectorSmallerThan() argument
166 const LLT QueryTy = Query.Types[TypeIdx]; in vectorSmallerThan()
172 return [=](const LegalityQuery &Query) { in vectorWiderThan() argument
173 const LLT QueryTy = Query.Types[TypeIdx]; in vectorWiderThan()
179 return [=](const LegalityQuery &Query) { in numElementsNotEven() argument
180 const LLT QueryTy = Query.Types[TypeIdx]; in numElementsNotEven()
214 return [=](const LegalityQuery &Query) { in isRegisterType() argument
215 return isRegisterType(Query.Types[TypeIdx]); in isRegisterType()
220 return [=](const LegalityQuery &Query) { in elementTypeIsLegal() argument
221 const LLT QueryTy = Query.Types[TypeIdx]; in elementTypeIsLegal()
232 return [=](const LegalityQuery &Query) { in isWideScalarExtLoadTruncStore() argument
233 const LLT Ty = Query.Types[TypeIdx]; in isWideScalarExtLoadTruncStore()
235 Query.MMODescrs[0].MemoryTy.getSizeInBits() < Ty.getSizeInBits(); in isWideScalarExtLoadTruncStore()
268 const LegalityQuery &Query) { in isLoadStoreSizeLegal() argument
269 const LLT Ty = Query.Types[0]; in isLoadStoreSizeLegal()
272 const bool IsLoad = Query.Opcode != AMDGPU::G_STORE; in isLoadStoreSizeLegal()
275 uint64_t MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in isLoadStoreSizeLegal()
276 uint64_t AlignBits = Query.MMODescrs[0].AlignInBits; in isLoadStoreSizeLegal()
277 unsigned AS = Query.Types[1].getAddressSpace(); in isLoadStoreSizeLegal()
355 static bool isLoadStoreLegal(const GCNSubtarget &ST, const LegalityQuery &Query) { in isLoadStoreLegal() argument
356 const LLT Ty = Query.Types[0]; in isLoadStoreLegal()
357 return isRegisterType(Ty) && isLoadStoreSizeLegal(ST, Query) && in isLoadStoreLegal()
416 static bool shouldWidenLoad(const GCNSubtarget &ST, const LegalityQuery &Query, in shouldWidenLoad() argument
418 if (Query.MMODescrs[0].Ordering != AtomicOrdering::NotAtomic) in shouldWidenLoad()
421 return shouldWidenLoad(ST, Query.MMODescrs[0].MemoryTy, in shouldWidenLoad()
422 Query.MMODescrs[0].AlignInBits, in shouldWidenLoad()
423 Query.Types[1].getAddressSpace(), Opcode); in shouldWidenLoad()
1065 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1066 return std::make_pair(1, LLT::scalar(Query.Types[0].getSizeInBits())); in AMDGPULegalizerInfo()
1069 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1070 return std::make_pair(1, LLT::scalar(Query.Types[0].getSizeInBits())); in AMDGPULegalizerInfo()
1081 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1082 return std::make_pair(0, LLT::scalar(Query.Types[1].getSizeInBits())); in AMDGPULegalizerInfo()
1086 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1087 return std::make_pair(0, LLT::scalar(Query.Types[1].getSizeInBits())); in AMDGPULegalizerInfo()
1094 const auto needToSplitMemOp = [=](const LegalityQuery &Query, in AMDGPULegalizerInfo()
1096 const LLT DstTy = Query.Types[0]; in AMDGPULegalizerInfo()
1099 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in AMDGPULegalizerInfo()
1104 const LLT PtrTy = Query.Types[1]; in AMDGPULegalizerInfo()
1165 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1166 return isLoadStoreLegal(ST, Query); in AMDGPULegalizerInfo()
1183 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1184 return shouldBitcastLoadStoreType(ST, Query.Types[0], in AMDGPULegalizerInfo()
1185 Query.MMODescrs[0].MemoryTy); in AMDGPULegalizerInfo()
1191 Actions.customIf([=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1192 return shouldWidenLoad(ST, Query, G_LOAD); in AMDGPULegalizerInfo()
1199 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1200 return !Query.Types[0].isVector() && in AMDGPULegalizerInfo()
1201 needToSplitMemOp(Query, Op == G_LOAD); in AMDGPULegalizerInfo()
1203 [=](const LegalityQuery &Query) -> std::pair<unsigned, LLT> { in AMDGPULegalizerInfo() argument
1204 const LLT DstTy = Query.Types[0]; in AMDGPULegalizerInfo()
1205 const LLT PtrTy = Query.Types[1]; in AMDGPULegalizerInfo()
1208 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in AMDGPULegalizerInfo()
1220 uint64_t Align = Query.MMODescrs[0].AlignInBits; in AMDGPULegalizerInfo()
1224 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1225 return Query.Types[0].isVector() && in AMDGPULegalizerInfo()
1226 needToSplitMemOp(Query, Op == G_LOAD); in AMDGPULegalizerInfo()
1228 [=](const LegalityQuery &Query) -> std::pair<unsigned, LLT> { in AMDGPULegalizerInfo() argument
1229 const LLT DstTy = Query.Types[0]; in AMDGPULegalizerInfo()
1230 const LLT PtrTy = Query.Types[1]; in AMDGPULegalizerInfo()
1242 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in AMDGPULegalizerInfo()
1302 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1303 return isLoadStoreLegal(ST, Query); in AMDGPULegalizerInfo()
1397 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1400 const LLT ValTy = Query.Types[0]; in AMDGPULegalizerInfo()
1401 const LLT AmountTy = Query.Types[1]; in AMDGPULegalizerInfo()
1435 .customIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1436 const LLT EltTy = Query.Types[EltTypeIdx]; in AMDGPULegalizerInfo()
1437 const LLT VecTy = Query.Types[VecTypeIdx]; in AMDGPULegalizerInfo()
1438 const LLT IdxTy = Query.Types[IdxTypeIdx]; in AMDGPULegalizerInfo()
1450 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1454 const LLT EltTy = Query.Types[EltTypeIdx]; in AMDGPULegalizerInfo()
1455 const LLT VecTy = Query.Types[VecTypeIdx]; in AMDGPULegalizerInfo()
1475 .unsupportedIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1476 const LLT &EltTy = Query.Types[1].getElementType(); in AMDGPULegalizerInfo()
1477 return Query.Types[0] != EltTy; in AMDGPULegalizerInfo()
1487 .lowerIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1491 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1495 .legalIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1496 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1497 const LLT LitTy = Query.Types[LitTyIdx]; in AMDGPULegalizerInfo()
1502 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1503 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1508 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1509 const LLT LitTy = Query.Types[LitTyIdx]; in AMDGPULegalizerInfo()
1568 auto notValidElt = [=](const LegalityQuery &Query, unsigned TypeIdx) { in AMDGPULegalizerInfo() argument
1569 const LLT Ty = Query.Types[TypeIdx]; in AMDGPULegalizerInfo()
1583 .lowerIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1584 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1602 [=](const LegalityQuery &Query) { return notValidElt(Query, LitTyIdx); }, in AMDGPULegalizerInfo() argument
1605 [=](const LegalityQuery &Query) { return notValidElt(Query, BigTyIdx); }, in AMDGPULegalizerInfo() argument
1612 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1613 const LLT Ty = Query.Types[LitTyIdx]; in AMDGPULegalizerInfo()
1620 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1621 const LLT Ty = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1625 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1628 const LLT &Ty = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()