Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:TLI

60     const TargetLowering &TLI;
282 : DAG(D), TLI(D.getTargetLoweringInfo()), Level(Unrestricted),
293 return LegalTypes ? TLI.getShiftAmountTy(LHSTy) : TLI.getPointerTy();
300 return TLI.isTypeLegal(VT);
646 if (!TLI.SimplifyDemandedBits(Op, Demanded, KnownZero, KnownOne, TLO))
689 ? (TLI.isLoadExtLegal(ISD::ZEXTLOAD, MemVT) ? ISD::ZEXTLOAD
718 if (!TLI.isOperationLegal(ISD::ANY_EXTEND, PVT))
724 if (!TLI.isOperationLegal(ISD::SIGN_EXTEND_INREG, PVT))
768 if (TLI.isTypeDesirableForOp(Opc, VT))
774 if (TLI.IsDesirableToPromoteOp(Op, PVT)) {
826 if (TLI.isTypeDesirableForOp(Opc, VT))
832 if (TLI.IsDesirableToPromoteOp(Op, PVT)) {
870 if (TLI.isTypeDesirableForOp(Opc, VT))
876 if (TLI.IsDesirableToPromoteOp(Op, PVT)) {
899 if (TLI.isTypeDesirableForOp(Opc, VT))
905 if (TLI.IsDesirableToPromoteOp(Op, PVT)) {
913 ? (TLI.isLoadExtLegal(ISD::ZEXTLOAD, MemVT) ? ISD::ZEXTLOAD
1125 TLI.hasTargetDAGCombine((ISD::NodeType)N->getOpcode())) {
1131 RV = TLI.PerformDAGCombine(N, DagCombineInfo);
1344 if (!LegalOperations && TLI.isOffsetFoldingLegal(GA) && N1C &&
1472 !TLI.isOperationLegal(ISD::SIGN_EXTEND, MVT::i1)) {
1545 static SDValue tryFoldToZero(DebugLoc DL, const TargetLowering &TLI, EVT VT,
1550 if (!LegalOperations || TLI.isOperationLegal(ISD::BUILD_VECTOR, VT)) {
1578 return tryFoldToZero(N->getDebugLoc(), TLI, VT, DAG, LegalOperations);
1632 if (!LegalOperations && TLI.isOffsetFoldingLegal(GA)) {
1773 if (N1C && !N1C->isNullValue() && !TLI.isIntDivCheap() &&
1778 if (TLI.isPow2DivCheap())
1814 !TLI.isIntDivCheap()) {
1866 if (N1C && !N1C->isNullValue() && !TLI.isIntDivCheap()) {
2001 if (TLI.isOperationLegal(ISD::MUL, NewVT)) {
2037 if (TLI.isOperationLegal(ISD::MUL, NewVT)) {
2060 TLI.isOperationLegal(LoOp, N->getValueType(0)))) {
2070 TLI.isOperationLegal(HiOp, N->getValueType(1)))) {
2088 TLI.isOperationLegal(LoOpt.getOpcode(), LoOpt.getValueType())))
2099 TLI.isOperationLegal(HiOpt.getOpcode(), HiOpt.getValueType())))
2119 if (TLI.isOperationLegal(ISD::MUL, NewVT)) {
2149 if (TLI.isOperationLegal(ISD::MUL, NewVT)) {
2223 (!LegalTypes || TLI.isTypeDesirableForOp(N->getOpcode(), Op0VT))) ||
2225 (!TLI.isZExtFree(VT, Op0VT) ||
2226 !TLI.isTruncateFree(Op0VT, VT)) &&
2227 TLI.isTypeLegal(Op0VT))) &&
2230 (!LegalOperations || TLI.isOperationLegal(N->getOpcode(), Op0VT))) {
2353 (!LegalOperations || TLI.isCondCodeLegal(Result, LL.getValueType())))
2381 TLI.isLoadExtLegal(ISD::ZEXTLOAD, MemVT))) {
2403 TLI.isLoadExtLegal(ISD::ZEXTLOAD, MemVT))) {
2434 (!LegalOperations || TLI.isLoadExtLegal(ISD::ZEXTLOAD, ExtVT))) {
2452 (!LegalOperations || TLI.isLoadExtLegal(ISD::ZEXTLOAD, ExtVT))) {
2461 if (TLI.isBigEndian()) {
2500 if (!TLI.isOperationLegal(ISD::BSWAP, VT))
2666 if (!TLI.isOperationLegal(ISD::BSWAP, VT))
2719 if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT))
2721 else if (TLI.isOperationLegalOrCustom(ISD::ROTR, VT))
2822 (!LegalOperations || TLI.isCondCodeLegal(Result, LL.getValueType())))
2894 if (!TLI.isTypeLegal(VT)) return 0;
2897 bool HasROTL = TLI.isOperationLegalOrCustom(ISD::ROTL, VT);
2898 bool HasROTR = TLI.isOperationLegalOrCustom(ISD::ROTR, VT);
3090 if (!LegalOperations || TLI.isCondCodeLegal(NotCC, LHS.getValueType())) {
3153 return tryFoldToZero(N->getDebugLoc(), TLI, VT, DAG, LegalOperations);
3399 TLI.isOperationLegal(ISD::SIGN_EXTEND_INREG, ExtVT)))
3435 TLI.isOperationLegalOrCustom(ISD::SIGN_EXTEND, TruncVT) &&
3436 TLI.isOperationLegalOrCustom(ISD::TRUNCATE, VT) &&
3437 TLI.isTruncateFree(VT, TruncVT)) {
3585 if (!LegalTypes || TLI.isTypeDesirableForOp(ISD::SRL, SmallVT)) {
3762 TLI.getBooleanContents(false) == TargetLowering::ZeroOrOneBooleanContent)) &&
3809 if (TLI.isOperationLegalOrCustom(ISD::SELECT_CC, MVT::Other) &&
3810 TLI.isOperationLegalOrCustom(ISD::SELECT_CC, VT))
3833 SDValue SCC = SimplifySetCC(TLI.getSetCCResultType(N0.getValueType()),
3871 const TargetLowering &TLI) {
3873 bool isTruncFree = TLI.isTruncateFree(N->getValueType(0), N0.getValueType());
4004 if (!LegalOperations || TLI.isOperationLegal(ISD::SIGN_EXTEND_INREG,
4021 TLI.isLoadExtLegal(ISD::SEXTLOAD, N0.getValueType()))) {
4025 DoXform = ExtendUsesToFormExtLoad(N, N0, ISD::SIGN_EXTEND, SetCCs, TLI);
4051 TLI.isLoadExtLegal(ISD::SEXTLOAD, MemVT)) {
4073 TLI.isLoadExtLegal(ISD::SEXTLOAD, N0.getValueType()) &&
4074 (!LegalOperations && TLI.isOperationLegal(N0.getOpcode(), VT))) {
4081 SetCCs, TLI);
4148 TLI.isOperationLegal(ISD::SETCC, TLI.getSetCCResultType(VT)))
4151 TLI.getSetCCResultType(VT),
4158 if ((!LegalOperations || TLI.isOperationLegal(ISD::ZERO_EXTEND, VT)) &&
4195 (!LegalOperations || TLI.isOperationLegal(ISD::AND, VT))) {
4225 (!TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
4227 !TLI.isZExtFree(N0.getValueType(), VT))) {
4246 TLI.isLoadExtLegal(ISD::ZEXTLOAD, N0.getValueType()))) {
4250 DoXform = ExtendUsesToFormExtLoad(N, N0, ISD::ZERO_EXTEND, SetCCs, TLI);
4276 TLI.isLoadExtLegal(ISD::ZEXTLOAD, N0.getValueType()) &&
4277 (!LegalOperations && TLI.isOperationLegal(N0.getOpcode(), VT))) {
4284 SetCCs, TLI);
4316 TLI.isLoadExtLegal(ISD::ZEXTLOAD, MemVT)) {
4456 !TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
4476 TLI.isLoadExtLegal(ISD::EXTLOAD, N0.getValueType()))) {
4480 DoXform = ExtendUsesToFormExtLoad(N, N0, ISD::ANY_EXTEND, SetCCs, TLI);
4629 if (LegalOperations && !TLI.isLoadExtLegal(ExtType, ExtVT))
4668 ExtVT == VT && TLI.isNarrowingProfitable(N0.getValueType(), VT)) {
4691 if (TLI.isBigEndian()) {
4763 (!LegalOperations || TLI.isOperationLegal(ISD::SIGN_EXTEND, VT)))
4802 TLI.isLoadExtLegal(ISD::SEXTLOAD, EVT))) {
4819 TLI.isLoadExtLegal(ISD::SEXTLOAD, EVT))) {
4888 if (!LegalTypes || TLI.isTypeDesirableForOp(N0.getOpcode(), VT)) {
4930 unsigned NewAlign = TLI.getTargetData()->
4934 (!LegalOperations || TLI.isOperationLegal(ISD::LOAD, VT)))
4975 TLI.isOperationLegal(Res.getNode()->getOpcode(), VT))
4997 (!LegalOperations || TLI.isOperationLegal(ISD::LOAD, VT))) {
4999 unsigned Align = TLI.getTargetData()->
5168 bool isLE = TLI.isLittleEndian();
5222 if (TLI.isBigEndian())
5294 if (!LegalOperations || TLI.isOperationLegal(ISD::FNEG, VT))
5335 if (!LegalOperations || TLI.isOperationLegal(ISD::FNEG, VT))
5422 if (!LegalOperations || TLI.isOperationLegal(ISD::FABS, VT))
5425 if (!LegalOperations || TLI.isOperationLegal(ISD::FNEG, VT))
5467 TLI.isOperationLegalOrCustom(llvm::ISD::ConstantFP, VT)))
5472 if (!TLI.isOperationLegalOrCustom(ISD::SINT_TO_FP, OpVT) &&
5473 TLI.isOperationLegalOrCustom(ISD::UINT_TO_FP, OpVT)) {
5492 TLI.isOperationLegalOrCustom(llvm::ISD::ConstantFP, VT)))
5497 if (!TLI.isOperationLegalOrCustom(ISD::UINT_TO_FP, OpVT) &&
5498 TLI.isOperationLegalOrCustom(ISD::SINT_TO_FP, OpVT)) {
5610 TLI.isLoadExtLegal(ISD::EXTLOAD, N0.getValueType()))) {
5705 TLI.isOperationLegalOrCustom(ISD::BR_CC, MVT::Other)) {
5753 TLI.getSetCCResultType(Op0.getValueType()),
5817 SetCCVT = TLI.getSetCCResultType(SetCCVT);
5848 SDValue Simp = SimplifySetCC(TLI.getSetCCResultType(CondLHS.getValueType()),
5880 if (!TLI.isIndexedLoadLegal(ISD::PRE_INC, VT) &&
5881 !TLI.isIndexedLoadLegal(ISD::PRE_DEC, VT))
5888 if (!TLI.isIndexedStoreLegal(ISD::PRE_INC, VT) &&
5889 !TLI.isIndexedStoreLegal(ISD::PRE_DEC, VT))
5907 if (!TLI.getPreIndexedAddressParts(N, BasePtr, Offset, AM, DAG))
6012 if (!TLI.isIndexedLoadLegal(ISD::POST_INC, VT) &&
6013 !TLI.isIndexedLoadLegal(ISD::POST_DEC, VT))
6020 if (!TLI.isIndexedStoreLegal(ISD::POST_INC, VT) &&
6021 !TLI.isIndexedStoreLegal(ISD::POST_DEC, VT))
6042 if (TLI.getPostIndexedAddressParts(N, Op, BasePtr, Offset, AM, DAG)) {
6454 !(TLI.isOperationLegalOrCustom(Opc, NewVT) &&
6455 TLI.isNarrowingProfitable(VT, NewVT))) {
6474 if (TLI.isBigEndian())
6479 if (NewAlign < TLI.getTargetData()->getABITypeAlignment(NewVTTy))
6533 if (!TLI.isOperationLegal(ISD::LOAD, IntVT) ||
6534 !TLI.isOperationLegal(ISD::STORE, IntVT) ||
6535 !TLI.isDesirableToTransformToIntegerOp(ISD::LOAD, VT) ||
6536 !TLI.isDesirableToTransformToIntegerOp(ISD::STORE, VT))
6542 unsigned ABIAlign = TLI.getTargetData()->getABITypeAlignment(IntVTTy);
6580 unsigned Align = TLI.getTargetData()->
6584 TLI.isOperationLegalOrCustom(ISD::STORE, SVT)))
6610 TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i32)) {
6619 if ((TLI.isTypeLegal(MVT::i64) && !LegalOperations &&
6621 TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i64)) {
6630 TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i32)) {
6637 if (TLI.isBigEndian()) std::swap(Lo, Hi);
6760 TLI.isTruncStoreLegal(Value.getOperand(0).getValueType(),
6784 if (LegalOperations && !TLI.isOperationLegal(ISD::BUILD_VECTOR, VT))
6911 TLI.getTargetData()
6914 if (NewAlign > Align || !TLI.isOperationLegalOrCustom(ISD::LOAD, LVT))
6926 if (TLI.isBigEndian())
7122 if (!TLI.getShouldFoldAtomicFences())
7203 if (!TLI.isVectorClearMaskLegal(Indices, RVT))
7446 SDValue SCC = SimplifySetCC(TLI.getSetCCResultType(N0.getValueType()),
7486 if (TLI.isTypeLegal(N2.getValueType()) &&
7487 (TLI.getOperationAction(ISD::ConstantFP, N2.getValueType()) !=
7497 const TargetData &TD = *TLI.getTargetData();
7501 SDValue CPIdx = DAG.getConstantPool(CA, TLI.getPointerTy(),
7512 TLI.getSetCCResultType(N0.getValueType()),
7518 CPIdx = DAG.getNode(ISD::ADD, DL, TLI.getPointerTy(), CPIdx,
7605 TLI.getBooleanContents(N0.getValueType().isVector()) ==
7619 SCC = DAG.getSetCC(DL, TLI.getSetCCResultType(N0.getValueType()),
7650 TLI.isOperationLegal(ISD::SETCC, TLI.getSetCCResultType(XType))) {
7651 SDValue Res = DAG.getSetCC(DL, TLI.getSetCCResultType(XType), N0, N1, CC);
7660 TLI.isOperationLegal(ISD::CTLZ, XType))) {
7725 return TLI.SimplifySetCC(VT, N0, N1, Cond, foldBooleans, DagCombineInfo, DL);
7734 SDValue S = TLI.BuildSDIV(N, DAG, &Built);
7748 SDValue S = TLI.BuildUDIV(N, DAG, &Built);