• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/

Lines Matching refs:Query

44   return [=](const LegalityQuery &Query) {
45 const LLT Ty = Query.Types[TypeIdx];
52 return [=](const LegalityQuery &Query) {
53 return Query.Types[TypeIdx].getSizeInBits() == Size;
58 return [=](const LegalityQuery &Query) {
59 const LLT Ty = Query.Types[TypeIdx];
68 return [=](const LegalityQuery &Query) {
69 const LLT Ty = Query.Types[TypeIdx];
76 return [=](const LegalityQuery &Query) {
77 const LLT Ty = Query.Types[TypeIdx];
84 return [=](const LegalityQuery &Query) {
85 const LLT Ty = Query.Types[TypeIdx];
97 return [=](const LegalityQuery &Query) {
98 const LLT Ty = Query.Types[TypeIdx];
113 return [=](const LegalityQuery &Query) {
114 const LLT QueryTy = Query.Types[TypeIdx];
120 return [=](const LegalityQuery &Query) {
121 const LLT QueryTy = Query.Types[TypeIdx];
127 return [=](const LegalityQuery &Query) {
128 const LLT QueryTy = Query.Types[TypeIdx];
136 return [=](const LegalityQuery &Query) {
137 const LLT Ty = Query.Types[TypeIdx];
150 return [=](const LegalityQuery &Query) {
151 return Query.Types[TypeIdx].getElementType() == Type;
156 return [=](const LegalityQuery &Query) {
157 const LLT Ty = Query.Types[TypeIdx];
159 Query.MMODescrs[0].SizeInBits < Ty.getSizeInBits();
588 return [=](const LegalityQuery &Query) {
589 return Query.Types[TypeIdx0].getSizeInBits() <
590 Query.Types[TypeIdx1].getSizeInBits();
595 return [=](const LegalityQuery &Query) {
596 return Query.Types[TypeIdx0].getSizeInBits() >
597 Query.Types[TypeIdx1].getSizeInBits();
609 [](const LegalityQuery &Query) {
610 return std::make_pair(1, LLT::scalar(Query.Types[0].getSizeInBits()));
613 [](const LegalityQuery &Query) {
614 return std::make_pair(1, LLT::scalar(Query.Types[0].getSizeInBits()));
625 [](const LegalityQuery &Query) {
626 return std::make_pair(0, LLT::scalar(Query.Types[1].getSizeInBits()));
630 [](const LegalityQuery &Query) {
631 return std::make_pair(0, LLT::scalar(Query.Types[1].getSizeInBits()));
664 const auto needToSplitLoad = [=](const LegalityQuery &Query) -> bool {
665 const LLT DstTy = Query.Types[0];
668 unsigned MemSize = Query.MMODescrs[0].SizeInBits;
669 unsigned Align = Query.MMODescrs[0].AlignInBits;
677 const LLT PtrTy = Query.Types[1];
752 [=](const LegalityQuery &Query) -> bool {
753 return !Query.Types[0].isVector() && needToSplitLoad(Query);
755 [=](const LegalityQuery &Query) -> std::pair<unsigned, LLT> {
756 const LLT DstTy = Query.Types[0];
757 const LLT PtrTy = Query.Types[1];
760 unsigned MemSize = Query.MMODescrs[0].SizeInBits;
776 unsigned Align = Query.MMODescrs[0].AlignInBits;
780 [=](const LegalityQuery &Query) -> bool {
781 return Query.Types[0].isVector() && needToSplitLoad(Query);
783 [=](const LegalityQuery &Query) -> std::pair<unsigned, LLT> {
784 const LLT DstTy = Query.Types[0];
785 const LLT PtrTy = Query.Types[1];
791 if (Query.MMODescrs[0].SizeInBits > MaxSize) {
793 unsigned NumPieces = Query.MMODescrs[0].SizeInBits / MaxSize;
806 unsigned Align = Query.MMODescrs[0].AlignInBits;
823 .legalIf([=](const LegalityQuery &Query) {
824 const LLT Ty0 = Query.Types[0];
826 unsigned MemSize = Query.MMODescrs[0].SizeInBits;
827 unsigned Align = Query.MMODescrs[0].AlignInBits;
952 .customIf([=](const LegalityQuery &Query) {
953 const LLT EltTy = Query.Types[EltTypeIdx];
954 const LLT VecTy = Query.Types[VecTypeIdx];
955 const LLT IdxTy = Query.Types[IdxTypeIdx];
968 .unsupportedIf([=](const LegalityQuery &Query) {
969 const LLT &EltTy = Query.Types[1].getElementType();
970 return Query.Types[0] != EltTy;
981 .legalIf([=](const LegalityQuery &Query) {
982 const LLT BigTy = Query.Types[BigTyIdx];
983 const LLT LitTy = Query.Types[LitTyIdx];
988 [=](const LegalityQuery &Query) {
989 const LLT BigTy = Query.Types[BigTyIdx];
994 [=](const LegalityQuery &Query) {
995 const LLT LitTy = Query.Types[LitTyIdx];
1039 auto notValidElt = [=](const LegalityQuery &Query, unsigned TypeIdx) {
1040 const LLT &Ty = Query.Types[TypeIdx];
1064 [=](const LegalityQuery &Query) { return notValidElt(Query, 0); },
1067 [=](const LegalityQuery &Query) { return notValidElt(Query, 1); },
1075 [=](const LegalityQuery &Query) {
1076 const LLT Ty = Query.Types[LitTyIdx];
1083 [=](const LegalityQuery &Query) {
1084 const LLT Ty = Query.Types[BigTyIdx];
1088 [=](const LegalityQuery &Query) {
1091 const LLT &Ty = Query.Types[BigTyIdx];
1100 .legalIf([=](const LegalityQuery &Query) {
1101 const LLT &BigTy = Query.Types[BigTyIdx];
1102 const LLT &LitTy = Query.Types[LitTyIdx];