Lines Matching refs:Query

66   return [=](const LegalityQuery &Query) {  in isSmallOddVector()  argument
67 const LLT Ty = Query.Types[TypeIdx]; in isSmallOddVector()
80 return [=](const LegalityQuery &Query) { in sizeIsMultipleOf32() argument
81 const LLT Ty = Query.Types[TypeIdx]; in sizeIsMultipleOf32()
87 return [=](const LegalityQuery &Query) { in isWideVec16() argument
88 const LLT Ty = Query.Types[TypeIdx]; in isWideVec16()
95 return [=](const LegalityQuery &Query) { in oneMoreElement() argument
96 const LLT Ty = Query.Types[TypeIdx]; in oneMoreElement()
104 return [=](const LegalityQuery &Query) { in fewerEltsToSize64Vector() argument
105 const LLT Ty = Query.Types[TypeIdx]; in fewerEltsToSize64Vector()
119 return [=](const LegalityQuery &Query) { in moreEltsToNext32Bit() argument
120 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 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in isLoadStoreSizeLegal()
276 unsigned 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()
1018 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1019 return std::make_pair(1, LLT::scalar(Query.Types[0].getSizeInBits())); in AMDGPULegalizerInfo()
1022 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1023 return std::make_pair(1, LLT::scalar(Query.Types[0].getSizeInBits())); in AMDGPULegalizerInfo()
1034 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1035 return std::make_pair(0, LLT::scalar(Query.Types[1].getSizeInBits())); in AMDGPULegalizerInfo()
1039 [](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1040 return std::make_pair(0, LLT::scalar(Query.Types[1].getSizeInBits())); in AMDGPULegalizerInfo()
1047 const auto needToSplitMemOp = [=](const LegalityQuery &Query, in AMDGPULegalizerInfo()
1049 const LLT DstTy = Query.Types[0]; in AMDGPULegalizerInfo()
1052 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in AMDGPULegalizerInfo()
1053 unsigned AlignBits = Query.MMODescrs[0].AlignInBits; in AMDGPULegalizerInfo()
1061 const LLT PtrTy = Query.Types[1]; in AMDGPULegalizerInfo()
1128 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1129 return isLoadStoreLegal(ST, Query); in AMDGPULegalizerInfo()
1146 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1147 return shouldBitcastLoadStoreType(ST, Query.Types[0], in AMDGPULegalizerInfo()
1148 Query.MMODescrs[0].MemoryTy); in AMDGPULegalizerInfo()
1154 Actions.customIf([=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1155 return shouldWidenLoad(ST, Query, G_LOAD); in AMDGPULegalizerInfo()
1162 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1163 return !Query.Types[0].isVector() && in AMDGPULegalizerInfo()
1164 needToSplitMemOp(Query, Op == G_LOAD); in AMDGPULegalizerInfo()
1166 [=](const LegalityQuery &Query) -> std::pair<unsigned, LLT> { in AMDGPULegalizerInfo() argument
1167 const LLT DstTy = Query.Types[0]; in AMDGPULegalizerInfo()
1168 const LLT PtrTy = Query.Types[1]; in AMDGPULegalizerInfo()
1171 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in AMDGPULegalizerInfo()
1197 unsigned Align = Query.MMODescrs[0].AlignInBits; in AMDGPULegalizerInfo()
1201 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1202 return Query.Types[0].isVector() && in AMDGPULegalizerInfo()
1203 needToSplitMemOp(Query, Op == G_LOAD); in AMDGPULegalizerInfo()
1205 [=](const LegalityQuery &Query) -> std::pair<unsigned, LLT> { in AMDGPULegalizerInfo() argument
1206 const LLT DstTy = Query.Types[0]; in AMDGPULegalizerInfo()
1207 const LLT PtrTy = Query.Types[1]; in AMDGPULegalizerInfo()
1219 unsigned MemSize = Query.MMODescrs[0].MemoryTy.getSizeInBits(); in AMDGPULegalizerInfo()
1259 unsigned Align = Query.MMODescrs[0].AlignInBits; in AMDGPULegalizerInfo()
1288 [=](const LegalityQuery &Query) -> bool { in AMDGPULegalizerInfo() argument
1289 return isLoadStoreLegal(ST, Query); in AMDGPULegalizerInfo()
1369 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1372 const LLT ValTy = Query.Types[0]; in AMDGPULegalizerInfo()
1373 const LLT AmountTy = Query.Types[1]; in AMDGPULegalizerInfo()
1407 .customIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1408 const LLT EltTy = Query.Types[EltTypeIdx]; in AMDGPULegalizerInfo()
1409 const LLT VecTy = Query.Types[VecTypeIdx]; in AMDGPULegalizerInfo()
1410 const LLT IdxTy = Query.Types[IdxTypeIdx]; in AMDGPULegalizerInfo()
1422 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1426 const LLT EltTy = Query.Types[EltTypeIdx]; in AMDGPULegalizerInfo()
1427 const LLT VecTy = Query.Types[VecTypeIdx]; in AMDGPULegalizerInfo()
1447 .unsupportedIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1448 const LLT &EltTy = Query.Types[1].getElementType(); in AMDGPULegalizerInfo()
1449 return Query.Types[0] != EltTy; in AMDGPULegalizerInfo()
1460 .legalIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1461 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1462 const LLT LitTy = Query.Types[LitTyIdx]; in AMDGPULegalizerInfo()
1467 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1468 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1473 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1474 const LLT LitTy = Query.Types[LitTyIdx]; in AMDGPULegalizerInfo()
1533 auto notValidElt = [=](const LegalityQuery &Query, unsigned TypeIdx) { in AMDGPULegalizerInfo() argument
1534 const LLT Ty = Query.Types[TypeIdx]; in AMDGPULegalizerInfo()
1548 .lowerIf([=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1549 const LLT BigTy = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1567 [=](const LegalityQuery &Query) { return notValidElt(Query, LitTyIdx); }, in AMDGPULegalizerInfo() argument
1570 [=](const LegalityQuery &Query) { return notValidElt(Query, BigTyIdx); }, in AMDGPULegalizerInfo() argument
1577 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1578 const LLT Ty = Query.Types[LitTyIdx]; in AMDGPULegalizerInfo()
1585 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1586 const LLT Ty = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()
1590 [=](const LegalityQuery &Query) { in AMDGPULegalizerInfo() argument
1593 const LLT &Ty = Query.Types[BigTyIdx]; in AMDGPULegalizerInfo()