|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp 128 TLI.getTypeToTransformTo(*DAG.getContext(),
149 TLI.getTypeToTransformTo(*DAG.getContext(),
153 TLI.getTypeToTransformTo(*DAG.getContext(),
166 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
178 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
185 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
195 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
202 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
212 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
219 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
229 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
234 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
244 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
249 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
273 TLI.getShiftAmountTy(RVT, DAG.getDataLayout())));
282 TLI.getShiftAmountTy(SignBit.getValueType(),
290 TLI.getShiftAmountTy(SignBit.getValueType(),
298 TLI.getShiftAmountTy(LVT, DAG.getDataLayout())));
307 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
312 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
322 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
329 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
339 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
344 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
354 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
359 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
369 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
374 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
384 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
389 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
399 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
404 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
414 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
419 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
429 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
438 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
448 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
455 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
465 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
470 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
480 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
495 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
505 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
531 return TLI.makeLibCall(DAG, LC, NVT, Op, CallOptions, SDLoc(N)).first;
537 EVT MidVT = TLI.getTypeToTransformTo(*DAG.getContext(), MVT::f32);
542 SDValue Res32 = TLI.makeLibCall(DAG, RTLIB::FPEXT_F16_F32, MidVT, Op,
547 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
550 return TLI.makeLibCall(DAG, LC, NVT, Res32, CallOptions, SDLoc(N)).first;
554 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
567 return TLI.makeLibCall(DAG, LC, NVT, Op, CallOptions, SDLoc(N)).first;
571 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
578 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
590 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
596 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
606 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
613 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
623 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
628 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
638 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
643 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
653 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
658 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
668 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
673 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
683 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
690 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
700 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
708 return TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
720 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
767 return DAG.getUNDEF(TLI.getTypeToTransformTo(*DAG.getContext(),
775 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
816 return TLI.makeLibCall(DAG, LC,
817 TLI.getTypeToTransformTo(*DAG.getContext(), RVT),
891 return TLI.makeLibCall(DAG, LC, RVT, Op, CallOptions, SDLoc(N)).first;
911 return TLI.makeLibCall(DAG, LC, RVT, Op, CallOptions, SDLoc(N)).first;
921 TLI.softenSetCCOperands(DAG, VT, NewLHS, NewRHS, CCCode, SDLoc(N),
964 SDValue Res = TLI.makeLibCall(DAG, LC, NVT, Op, CallOptions, dl).first;
977 TLI.softenSetCCOperands(DAG, VT, NewLHS, NewRHS, CCCode, SDLoc(N),
1001 TLI.softenSetCCOperands(DAG, VT, NewLHS, NewRHS, CCCode, SDLoc(N),
1036 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1043 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1053 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1060 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1070 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1077 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1087 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1094 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1181 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1283 SDValue Call = TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
1358 SDValue Call = TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
1373 SDValue Call = TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
1406 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1489 SDValue Call = TLI.makeLibCall(DAG, GetFPLibCall(N->getValueType(0),
1523 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), LD->getValueType(0));
1546 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
1576 Hi = TLI.makeLibCall(DAG, LC, VT, Src, CallOptions, dl).first;
1754 return TLI.makeLibCall(DAG, LC, RVT, N->getOperand(0), CallOptions, dl).first;
1764 return TLI.makeLibCall(DAG, LC, N->getValueType(0), N->getOperand(0),
1814 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(),
1831 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1844 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1857 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1870 return TLI.makeLibCall(DAG, GetFPLibCall(RetVT,
1992 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2112 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2134 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2197 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2206 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2219 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2230 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2238 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2249 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2264 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2290 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2319 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2328 return DAG.getUNDEF(TLI.getTypeToTransformTo(*DAG.getContext(),
2334 EVT NFPVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp 224 EVT ResVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
252 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(1));
256 if (!TLI.isTypeLegal(SVT))
285 EVT NInVT = TLI.getTypeToTransformTo(*DAG.getContext(), InVT);
287 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
355 MVT IdxTy = TLI.getVectorIdxTy(DAG.getDataLayout());
388 EVT ShiftVT = getShiftAmountTyForConstant(NVT, TLI, DAG);
400 EVT ShiftVT = getShiftAmountTyForConstant(NVT, TLI, DAG);
410 TLI.getTypeToTransformTo(*DAG.getContext(),
423 TLI.getTypeToTransformTo(*DAG.getContext(), VT),
467 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
474 if (TLI.getTypeAction(*DAG.getContext(), Op0.getValueType())
491 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
500 !TLI.isOperationLegal(ISD::FP_TO_UINT, NVT) &&
501 TLI.isOperationLegalOrCustom(ISD::FP_TO_SINT, NVT))
505 !TLI.isOperationLegal(ISD::STRICT_FP_TO_UINT, NVT) &&
506 TLI.isOperationLegalOrCustom(ISD::STRICT_FP_TO_SINT, NVT))
533 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
540 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
547 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
576 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
590 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
604 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
625 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(1));
672 if (TLI.isOperationLegalOrCustom(Opcode, PromotedType)) {
689 EVT SHVT = TLI.getShiftAmountTy(PromotedType, DAG.getDataLayout());
752 EVT ShiftTy = TLI.getShiftAmountTy(PromotedType, DAG.getDataLayout());
820 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
829 InVT = TLI.getTypeToTransformTo(*DAG.getContext(), InVT);
908 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
956 MVT IdxTy = TLI.getVectorIdxTy(DAG.getDataLayout());
1061 EVT ShiftTy = getShiftAmountTyForConstant(Mul.getValueType(), TLI, DAG);
1085 return DAG.getUNDEF(TLI.getTypeToTransformTo(*DAG.getContext(),
1095 MVT RegVT = TLI.getRegisterType(*DAG.getContext(), VT);
1096 unsigned NumRegs = TLI.getNumRegisters(*DAG.getContext(), VT);
1111 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
1118 TLI.getPointerTy(DAG.getDataLayout())));
1343 TLI.getPointerTy(DAG.getDataLayout())));
1353 assert(!((NumElts & 1) && (!TLI.isTypeLegal(VecVT))) &&
1390 TLI.getVectorIdxTy(DAG.getDataLayout()));
1916 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2003 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2137 bool HasOpCarry = TLI.isOperationLegalOrCustom(
2139 TLI.getTypeToExpandTo(*DAG.getContext(), NVT));
2160 TLI.isOperationLegalOrCustom(N->getOpcode() == ISD::ADD ?
2162 TLI.getTypeToExpandTo(*DAG.getContext(), NVT));
2179 TLI.isOperationLegalOrCustom(N->getOpcode() == ISD::ADD ?
2181 TLI.getTypeToExpandTo(*DAG.getContext(), NVT));
2182 TargetLoweringBase::BooleanContent BoolType = TLI.getBooleanContents(NVT);
2323 bool HasCarryOp = TLI.isOperationLegalOrCustom(
2324 CarryOp, TLI.getTypeToExpandTo(*DAG.getContext(), LHS.getValueType()));
2378 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2417 TLI.getPointerTy(DAG.getDataLayout())));
2459 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2544 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2547 EVT ShiftAmtTy = TLI.getShiftAmountTy(NVT, DAG.getDataLayout());
2567 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Op, CallOptions, dl).first,
2583 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Op, CallOptions, dl).first,
2611 SplitInteger(TLI.makeLibCall(DAG, LC, RetVT, Op, CallOptions, dl).first,
2639 SplitInteger(TLI.makeLibCall(DAG, LC, RetVT, Op, CallOptions, dl).first,
2653 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2679 TLI.getPointerTy(DAG.getDataLayout())));
2743 TLI.getPointerTy(DAG.getDataLayout()))));
2748 TLI.getPointerTy(DAG.getDataLayout())));
2770 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2777 if (TLI.expandMUL(N, Lo, Hi, NVT, DAG,
2793 if (LC == RTLIB::UNKNOWN_LIBCALL || !TLI.getLibcallName(LC)) {
2808 EVT ShiftAmtTy = TLI.getShiftAmountTy(NVT, DAG.getDataLayout());
2844 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, CallOptions, dl).first,
2851 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2861 SDValue Result = TLI.expandAddSubSat(N, DAG);
2919 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2926 if (!TLI.expandMUL_LOHI(LoHiOp, VT, dl, LHS, RHS, Result, NVT, DAG,
2936 EVT ShiftTy = TLI.getShiftAmountTy(NVT, DAG.getDataLayout());
3131 if (TLI.getOperationAction(ISD::SDIVREM, VT) == TargetLowering::Custom) {
3150 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, CallOptions, dl).first, Lo, Hi);
3182 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
3183 TargetLowering::LegalizeAction Action = TLI.getOperationAction(PartsOpc, NVT);
3185 (Action == TargetLowering::Legal && TLI.isTypeLegal(NVT)) ||
3188 if (LegalOrCustom && TLI.shouldExpandShift(DAG, N)) {
3198 EVT ShiftTy = TLI.getShiftAmountTy(VT, DAG.getDataLayout());
3247 if (LC != RTLIB::UNKNOWN_LIBCALL && TLI.getLibcallName(LC)) {
3251 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, CallOptions, dl).first, Lo, Hi);
3261 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3271 DAG.getConstant(LoSize - 1, dl, TLI.getPointerTy(DAG.getDataLayout())));
3305 TLI.getPointerTy(DAG.getDataLayout())));
3322 if (TLI.getOperationAction(ISD::SDIVREM, VT) == TargetLowering::Custom) {
3341 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, CallOptions, dl).first, Lo, Hi);
3346 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3352 TLI.getPointerTy(DAG.getDataLayout())));
3416 EVT PtrVT = TLI.getPointerTy(DAG.getDataLayout());
3454 SDValue Func = DAG.getExternalSymbol(TLI.getLibcallName(LC), PtrVT);
3459 .setLibCallee(TLI.getLibcallCallingConv(LC), RetTy, Func, std::move(Args))
3462 std::pair<SDValue, SDValue> CallInfo = TLI.LowerCallTo(CLI);
3480 if (TLI.getOperationAction(ISD::UDIVREM, VT) == TargetLowering::Custom) {
3498 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, CallOptions, dl).first, Lo, Hi);
3507 if (TLI.getOperationAction(ISD::UDIVREM, VT) == TargetLowering::Custom) {
3525 SplitInteger(TLI.makeLibCall(DAG, LC, VT, Ops, CallOptions, dl).first, Lo, Hi);
3530 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3574 SDValue Res = TLI.expandVecReduce(N, DAG);
3705 if (TLI.isTypeLegal(LHSLo.getValueType()) &&
3706 TLI.isTypeLegal(RHSLo.getValueType()))
3707 LoCmp = TLI.SimplifySetCC(getSetCCResultType(LHSLo.getValueType()), LHSLo,
3712 if (TLI.isTypeLegal(LHSHi.getValueType()) &&
3713 TLI.isTypeLegal(RHSHi.getValueType()))
3714 HiCmp = TLI.SimplifySetCC(getSetCCResultType(LHSHi.getValueType()), LHSHi,
3747 EVT ExpandVT = TLI.getTypeToExpandTo(*DAG.getContext(), HiVT);
3748 bool HasSETCCCARRY = TLI.isOperationLegalOrCustom(ISD::SETCCCARRY, ExpandVT);
3781 NewLHS = TLI.SimplifySetCC(getSetCCResultType(HiVT), LHSHi, RHSHi, ISD::SETEQ,
3887 return TLI.makeLibCall(DAG, LC, DstVT, Op, CallOptions, SDLoc(N)).first;
3898 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
3950 TLI.getPointerTy(DAG.getDataLayout())));
3955 TLI.getPointerTy(DAG.getDataLayout()))));
3990 TLI.getOperationAction(ISD::SINT_TO_FP, SrcVT) == TargetLowering::Custom){
3993 SignedConv = TLI.LowerOperation(SignedConv, DAG);
4025 TLI.getPointerTy(DAG.getDataLayout()));
4054 return TLI.makeLibCall(DAG, LC, DstVT, Op, CallOptions, dl).first;
4071 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
4121 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
4154 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
4171 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
4184 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
4208 DAG.getConstant(j, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4218 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
4253 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
4271 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
4279 TLI.getVectorIdxTy(DAG.getDataLayout()));
4318 DAG.getConstant(i, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp 687 TLI.getTypeToTransformTo(*DAG.getContext(), Op.getValueType()) &&
701 TLI.getTypeToTransformTo(*DAG.getContext(), Op.getValueType()) &&
712 TLI.getTypeToTransformTo(*DAG.getContext(), Op.getValueType()) &&
745 TLI.getTypeToTransformTo(*DAG.getContext(), Op.getValueType()) &&
782 TLI.getTypeToTransformTo(*DAG.getContext(), Op.getValueType()) &&
825 TLI.getTypeToTransformTo(*DAG.getContext(), Op.getValueType()) &&
879 if (TLI.getOperationAction(N->getOpcode(), VT) != TargetLowering::Custom)
884 TLI.ReplaceNodeResults(N, Results, DAG);
886 TLI.LowerOperationWrapper(N, Results, DAG);
917 if (TLI.getOperationAction(N->getOpcode(), VT) != TargetLowering::Custom)
921 TLI.ReplaceNodeResults(N, Results, DAG);
952 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), Pair.getValueType());
969 EVT ShiftAmtVT = TLI.getShiftAmountTy(NVT, DAG.getDataLayout(), false);
985 return TLI.makeLibCall(DAG, LC, N->getValueType(0), None, CallOptions,
989 return TLI.makeLibCall(DAG, LC, N->getValueType(0), Op, CallOptions,
993 return TLI.makeLibCall(DAG, LC, N->getValueType(0), Ops, CallOptions,
1000 return TLI.makeLibCall(DAG, LC, N->getValueType(0), Ops, CallOptions, dl).first;
1021 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
1022 TLI.getPointerTy(DAG.getDataLayout()));
1029 .setLibCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee,
1034 std::pair<SDValue, SDValue> CallInfo = TLI.LowerCallTo(CLI);
1048 TargetLowering::getExtendForContent(TLI.getBooleanContents(ValVT));
1063 TLI.getScalarShiftAmountTy(DAG.getDataLayout(), Op.getValueType());
lib/CodeGen/SelectionDAG/LegalizeTypes.h 63 return TLI.getTypeAction(*DAG.getContext(), VT);
68 return TLI.getTypeAction(*DAG.getContext(), VT) == TargetLowering::TypeLegal;
73 return VT.isSimple() && TLI.isTypeLegal(VT);
77 return TLI.getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
164 ValueTypeActions(TLI.getValueTypeActions()) {
282 if (TLI.isSExtCheaperThanZExt(OldVT, Op.getValueType()))
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp 42 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
65 if (TLI.hasBigEndianPartOrdering(InVT, DL) !=
66 TLI.hasBigEndianPartOrdering(OutVT, DL))
74 if (TLI.hasBigEndianPartOrdering(OutVT, DAG.getDataLayout()))
91 if (TLI.hasBigEndianPartOrdering(OutVT, DAG.getDataLayout()))
124 DAG.getConstant(i, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
182 if (TLI.hasBigEndianPartOrdering(OutVT, DAG.getDataLayout()))
215 EVT NewVT = TLI.getTypeToTransformTo(*DAG.getContext(), OldVT);
252 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), ValueVT);
278 if (TLI.hasBigEndianPartOrdering(ValueVT, DAG.getDataLayout()))
288 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), OVT);
299 if (TLI.hasBigEndianPartOrdering(OVT, DAG.getDataLayout()))
347 TLI.getTypeToTransformTo(*DAG.getContext(), OVT),
373 EVT NewVT = TLI.getTypeToTransformTo(*DAG.getContext(), OldVT);
414 EVT NewEVT = TLI.getTypeToTransformTo(*DAG.getContext(), OldEVT);
463 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), ValueVT);
475 if (TLI.hasBigEndianPartOrdering(ValueVT, DAG.getDataLayout()))
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp 394 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
420 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
458 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
463 TLI.getBooleanContents(false, false);
464 TargetLowering::BooleanContent VecBool = TLI.getBooleanContents(true, false);
470 if (TLI.getBooleanContents(false, false) !=
471 TLI.getBooleanContents(false, true)) {
476 ScalarBool = TLI.getBooleanContents(OpVT.getScalarType());
477 VecBool = TLI.getBooleanContents(OpVT);
560 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
563 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
572 TargetLowering::getExtendForContent(TLI.getBooleanContents(OpVT));
759 TargetLowering::getExtendForContent(TLI.getBooleanContents(OpVT));
1161 TLI.getVectorIdxTy(DAG.getDataLayout())));
1198 SDValue SubVecPtr = TLI.getVectorElementPointer(DAG, StackPtr, VecVT, Idx);
1379 DAG.getConstant(i, dl, TLI.getVectorIdxTy(
1465 TLI.getVectorIdxTy(DAG.getDataLayout())));
1495 SDValue EltPtr = TLI.getVectorElementPointer(DAG, StackPtr, VecVT, Idx);
1615 Ptr = TLI.IncrementMemoryAddress(Ptr, MaskLo, dl, LoMemVT, DAG,
1804 if (TLI.isTypeLegal(SrcVT) && !TLI.isTypeLegal(SplitSrcVT) &&
1804 if (TLI.isTypeLegal(SrcVT) && !TLI.isTypeLegal(SplitSrcVT) &&
1805 TLI.isTypeLegal(NewSrcVT) && TLI.isTypeLegal(SplitLoVT)) {
1805 TLI.isTypeLegal(NewSrcVT) && TLI.isTypeLegal(SplitLoVT)) {
1911 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
2262 StackPtr = TLI.getVectorElementPointer(DAG, StackPtr, VecVT, Idx);
2399 Ptr = TLI.IncrementMemoryAddress(Ptr, MaskLo, DL, LoMemVT, DAG,
2499 return TLI.scalarizeVectorStore(N, DAG);
2540 DAG.getConstant(i, DL, TLI.getVectorIdxTy(DAG.getDataLayout()))));
2622 0, DL, TLI.getPointerTy(DAG.getDataLayout())))
2645 TargetLowering::getExtendForContent(TLI.getBooleanContents(OpVT));
2873 EVT WideVecVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
2874 if (!TLI.isOperationLegalOrCustom(N->getOpcode(), WideVecVT) &&
2875 TLI.isOperationExpand(N->getOpcode(), VT.getScalarType())) {
2910 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2920 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
2929 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3022 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3027 while (!TLI.isTypeLegal(VT) && NumElts != 1) {
3032 if (NumElts != 1 && !TLI.canOpTrap(N->getOpcode(), VT)) {
3062 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3065 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3073 } while (!TLI.isTypeLegal(VT) && NumElts != 1);
3079 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3082 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3090 return CollectOpsToWiden(DAG, TLI, ConcatOps, ConcatEnd, VT, MaxVT, WidenVT);
3098 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3102 while (!TLI.isTypeLegal(VT) && NumElts != 1) {
3152 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3167 } while (!TLI.isTypeLegal(VT) && NumElts != 1);
3180 TLI.getVectorIdxTy(DAG.getDataLayout())));
3202 return CollectOpsToWiden(DAG, TLI, ConcatOps, ConcatEnd, VT, MaxVT, WidenVT);
3214 WideResVT = TLI.getTypeToTransformTo(*DAG.getContext(), ResVT);
3222 WideOvVT = TLI.getTypeToTransformTo(*DAG.getContext(), OvVT);
3228 0, DL, TLI.getVectorIdxTy(DAG.getDataLayout()));
3248 0, DL, TLI.getVectorIdxTy(DAG.getDataLayout()));
3261 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3293 if (TLI.isTypeLegal(InWidenVT)) {
3313 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
3330 DAG.getConstant(i, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
3345 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3367 DAG.getConstant(i, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
3382 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3407 DAG.getConstant(i, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
3437 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3442 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3449 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3469 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3475 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3494 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
3549 if (TLI.isTypeLegal(NewInVT)) {
3581 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
3593 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3615 if (WidenVT == TLI.getTypeToTransformTo(*DAG.getContext(), InVT)) {
3653 DAG.getConstant(j, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3663 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
3694 TLI.getVectorIdxTy(DAG.getDataLayout())));
3738 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(),N->getValueType(0));
3763 EVT WideVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3796 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
3876 MVT IdxTy = TLI.getVectorIdxTy(DAG.getDataLayout());
3930 while (TLI.getTypeAction(Ctx, SetCCOpVT) != TargetLowering::TypeLegal)
3931 SetCCOpVT = TLI.getTypeToTransformTo(Ctx, SetCCOpVT);
3938 while (TLI.getTypeAction(Ctx, CondVT) != TargetLowering::TypeLegal)
3939 CondVT = TLI.getTypeToTransformTo(Ctx, CondVT);
3949 VSelVT = TLI.getTypeToTransformTo(Ctx, VSelVT);
4005 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
4051 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
4059 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
4084 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0));
4232 if (TLI.isTypeLegal(FixedVT) &&
4242 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
4246 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
4297 if (TLI.isTypeLegal(WideVT) && !N->isStrictFPOpcode()) {
4309 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4322 DAG.getConstant(i, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4334 DAG.getConstant(i, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
4353 if (TLI.isTypeLegal(NewVT)) {
4357 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4371 if (TLI.isTypeLegal(NewVT)) {
4374 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4391 if (VT == TLI.getTypeToTransformTo(*DAG.getContext(), InVT)) {
4417 DAG.getConstant(j, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4440 return TLI.scalarizeVectorStore(ST, DAG);
4475 EVT WideMaskVT = TLI.getTypeToTransformTo(*DAG.getContext(), MaskVT);
4575 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4579 TargetLowering::getExtendForContent(TLI.getBooleanContents(OpVT));
4634 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
4655 DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
4766 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(),LD->getValueType(0));
4785 EVT NewVT = FindMemType(DAG, TLI, LdWidth, WidenVT, LdAlign, WidthDiff);
4827 NewVT = FindMemType(DAG, TLI, LdWidth, WidenVT, LdAlign, WidthDiff);
4918 EVT WidenVT = TLI.getTypeToTransformTo(*DAG.getContext(),LD->getValueType(0));
4984 EVT NewVT = FindMemType(DAG, TLI, StWidth, ValVT);
4992 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
5013 TLI.getVectorIdxTy(DAG.getDataLayout())));
5056 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
5065 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
5105 DAG.getConstant(0, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
5115 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));