Lines Matching refs:getNode
724 if (ISD::isBuildVectorOfConstantSDNodes(StoreVal.getNode()) || in getStoreSource()
725 ISD::isBuildVectorOfConstantFPSDNodes(StoreVal.getNode())) in getStoreSource()
948 AddToWorklist(Op.getNode()); in deleteAndRecombine()
1062 ISD::isBuildVectorOfConstantFPSDNodes(V.getNode()); in isAnyConstantBuildVector()
1108 LoadStore && LoadStore->getBasePtr().getNode() == N) { in reassociationCanBreakAddressingModePattern()
1213 return DAG.getNode(Opc, DL, VT, N00, OpNode, NewFlags); in reassociateOpsCommutative()
1219 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N00, N1, NewFlags); in reassociateOpsCommutative()
1220 return DAG.getNode(Opc, DL, VT, OpNode, N01, NewFlags); in reassociateOpsCommutative()
1249 return DAG.getNode(Opc, DL, VT, SDValue(NE, 0), N01); in reassociateOpsCommutative()
1259 return DAG.getNode(Opc, DL, VT, SDValue(NE, 0), N00); in reassociateOpsCommutative()
1277 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N00, N1, Flags); in reassociateOpsCommutative()
1278 return DAG.getNode(Opc, DL, VT, OpNode, N01, Flags); in reassociateOpsCommutative()
1281 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N01, N1, Flags); in reassociateOpsCommutative()
1282 return DAG.getNode(Opc, DL, VT, OpNode, N00, Flags); in reassociateOpsCommutative()
1322 return DAG.getNode(RedOpc, DL, VT, in reassociateReduction()
1323 DAG.getNode(Opc, DL, N0.getOperand(0).getValueType(), in reassociateReduction()
1337 assert((!To[i].getNode() || in CombineTo()
1346 if (To[i].getNode()) in CombineTo()
1347 AddToWorklistWithUsers(To[i].getNode()); in CombineTo()
1370 AddToWorklistWithUsers(TLO.New.getNode()); in CommitTargetLoweringOpt()
1373 recursivelyDeleteUnusedNodes(TLO.Old.getNode()); in CommitTargetLoweringOpt()
1388 AddToWorklist(Op.getNode()); in SimplifyDemandedBits()
1407 AddToWorklist(Op.getNode()); in SimplifyDemandedVectorElts()
1416 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, DL, VT, SDValue(ExtLoad, 0)); in ReplaceLoadWithPromotedLoad()
1424 AddToWorklist(Trunc.getNode()); in ReplaceLoadWithPromotedLoad()
1431 if (ISD::isUNINDEXEDLoad(Op.getNode())) { in PromoteOperand()
1447 return DAG.getNode(ISD::AssertSext, DL, PVT, Op0, Op.getOperand(1)); in PromoteOperand()
1451 return DAG.getNode(ISD::AssertZext, DL, PVT, Op0, Op.getOperand(1)); in PromoteOperand()
1456 return DAG.getNode(ExtOpc, DL, PVT, Op); in PromoteOperand()
1462 return DAG.getNode(ISD::ANY_EXTEND, DL, PVT, Op); in PromoteOperand()
1472 if (!NewOp.getNode()) in SExtPromoteOperand()
1474 AddToWorklist(NewOp.getNode()); in SExtPromoteOperand()
1477 ReplaceLoadWithPromotedLoad(Op.getNode(), NewOp.getNode()); in SExtPromoteOperand()
1478 return DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, NewOp.getValueType(), NewOp, in SExtPromoteOperand()
1487 if (!NewOp.getNode()) in ZExtPromoteOperand()
1489 AddToWorklist(NewOp.getNode()); in ZExtPromoteOperand()
1492 ReplaceLoadWithPromotedLoad(Op.getNode(), NewOp.getNode()); in ZExtPromoteOperand()
1531 DAG.getNode(ISD::TRUNCATE, DL, VT, DAG.getNode(Opc, DL, PVT, NN0, NN1)); in PromoteIntBinOp()
1542 CombineTo(Op.getNode(), RV); in PromoteIntBinOp()
1546 if (Replace0 && Replace1 && N0->isPredecessorOf(N1.getNode())) { in PromoteIntBinOp()
1552 AddToWorklist(NN0.getNode()); in PromoteIntBinOp()
1553 ReplaceLoadWithPromotedLoad(N0.getNode(), NN0.getNode()); in PromoteIntBinOp()
1556 AddToWorklist(NN1.getNode()); in PromoteIntBinOp()
1557 ReplaceLoadWithPromotedLoad(N1.getNode(), NN1.getNode()); in PromoteIntBinOp()
1598 if (!N0.getNode()) in PromoteIntShiftOp()
1604 DAG.getNode(ISD::TRUNCATE, DL, VT, DAG.getNode(Opc, DL, PVT, N0, N1)); in PromoteIntShiftOp()
1607 ReplaceLoadWithPromotedLoad(Op.getOperand(0).getNode(), N0.getNode()); in PromoteIntShiftOp()
1639 return DAG.getNode(Op.getOpcode(), SDLoc(Op), VT, Op.getOperand(0)); in PromoteExtend()
1648 if (!ISD::isUNINDEXEDLoad(Op.getNode())) in PromoteLoad()
1668 SDNode *N = Op.getNode(); in PromoteLoad()
1676 SDValue Result = DAG.getNode(ISD::TRUNCATE, DL, VT, NewLD); in PromoteLoad()
1684 AddToWorklist(Result.getNode()); in PromoteLoad()
1711 Nodes.insert(ChildN.getNode()); in recursivelyDeleteUnusedNodes()
1779 AddToWorklist(ChildN.getNode(), /*IsCandidateForPruning=*/true, in Run()
1784 if (!RV.getNode()) in Run()
1796 if (RV.getNode() == N) in Run()
1806 DAG.ReplaceAllUsesWith(N, RV.getNode()); in Run()
1819 AddToWorklistWithUsers(RV.getNode()); in Run()
2007 if (!RV.getNode()) { in combine()
2023 if (!RV.getNode()) { in combine()
2053 if (!RV.getNode() && TLI.isCommutativeBinOp(N->getOpcode())) { in combine()
2089 if (getInputChainForNode(N->getOperand(0).getNode()) == N->getOperand(1)) in visitTokenFactor()
2091 if (getInputChainForNode(N->getOperand(1).getNode()) == N->getOperand(0)) in visitTokenFactor()
2143 if (Op.hasOneUse() && !is_contained(TFs, Op.getNode())) { in visitTokenFactor()
2145 TFs.push_back(Op.getNode()); in visitTokenFactor()
2153 if (SeenOps.insert(Op.getNode()).second) in visitTokenFactor()
2181 Worklist.push_back(std::make_pair(Op.getNode(), NumLeftToConsider++)); in visitTokenFactor()
2192 while (OrigOpNumber < Ops.size() && Ops[OrigOpNumber].getNode() != Op) in visitTokenFactor()
2231 AddToWorklist(i, Op.getNode(), CurOpNumber); in visitTokenFactor()
2237 AddToWorklist(i, CurNode->getOperand(0).getNode(), CurOpNumber); in visitTokenFactor()
2241 AddToWorklist(i, MemNode->getChain().getNode(), CurOpNumber); in visitTokenFactor()
2260 if (SeenChains.count(Op.getNode()) == 0) in visitTokenFactor()
2329 if (LD->isIndexed() || LD->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2334 if (ST->isIndexed() || ST->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2339 if (LD->isIndexed() || LD->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2344 if (ST->isIndexed() || ST->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2412 SDValue NewBO = DAG.getNode(Opcode, SDLoc(N), VT, F0, FVal, N->getFlags()); in foldSelectWithIdentityConstant()
2418 SDValue NewBO = DAG.getNode(Opcode, SDLoc(N), VT, F0, TVal, N->getFlags()); in foldSelectWithIdentityConstant()
2560 return DAG.getNode(IsAdd ? ISD::SUB : ISD::ADD, DL, VT, C1, LowBit); in foldAddSubBoolOfMaskedVal()
2573 return DAG.getNode(ISD::AVGCEILU, DL, VT, A, B); in foldSubToAvg()
2579 return DAG.getNode(ISD::AVGCEILS, DL, VT, A, B); in foldSubToAvg()
2618 SDValue NewShift = DAG.getNode(IsAdd ? ISD::SRA : ISD::SRL, DL, VT, in foldAddSubOfSignBit()
2620 return DAG.getNode(ISD::ADD, DL, VT, NewShift, NewC); in foldAddSubOfSignBit()
2654 return DAG.getNode(ISD::ADD, DL, VT, N1, N0); in visitADDLike()
2665 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitADDLike()
2679 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), Sub); in visitADDLike()
2683 return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1)); in visitADDLike()
2698 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Not); in visitADDLike()
2709 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), Add); in visitADDLike()
2736 return DAG.getNode( in visitADDLike()
2738 DAG.getNode(ISD::ADD, DL, VT, N1, N0.getOperand(0)), in visitADDLike()
2758 return DAG.getNode(ISD::SUB, DL, VT, N1, A); in visitADDLike()
2762 return DAG.getNode(ISD::SUB, DL, VT, N0, B); in visitADDLike()
2775 return DAG.getNode(ISD::SUB, DL, VT, C, B); in visitADDLike()
2780 return DAG.getNode(ISD::SUB, DL, VT, A, C); in visitADDLike()
2785 return DAG.getNode(ISD::SUB, DL, VT, B, C); in visitADDLike()
2791 return DAG.getNode(N1.getOpcode(), DL, VT, B, C); in visitADDLike()
2797 return DAG.getNode(ISD::SUB, DL, VT, in visitADDLike()
2798 DAG.getNode(ISD::ADD, SDLoc(N0), VT, A, C), in visitADDLike()
2799 DAG.getNode(ISD::ADD, SDLoc(N1), VT, B, D)); in visitADDLike()
2809 return DAG.getNode(ISD::USUBSAT, DL, VT, N0.getOperand(0), in visitADDLike()
2819 return DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT), in visitADDLike()
2835 return DAG.getNode(ISD::SUB, DL, VT, A, Xor.getOperand(0)); in visitADDLike()
2848 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(1), Not); in visitADDLike()
2856 return DAG.getNode(ISD::ADD, DL, VT, Not, N0.getOperand(0)); in visitADDLike()
2880 SDValue Mul = DAG.getNode(ISD::MUL, SDLoc(N1), VT, A, in visitADDLike()
2882 return DAG.getNode( in visitADDLike()
2909 SDValue Mul = DAG.getNode(ISD::MUL, SDLoc(N1), VT, A, in visitADDLike()
2911 SDValue Add = DAG.getNode(ISD::ADD, SDLoc(N1), VT, Mul, B, Flags); in visitADDLike()
2912 return DAG.getNode( in visitADDLike()
2938 return DAG.getNode(ISD::AVGFLOORU, DL, VT, A, B); in foldAddToAvg()
2944 return DAG.getNode(ISD::AVGFLOORS, DL, VT, A, B); in foldAddToAvg()
2974 return DAG.getNode(ISD::OR, DL, VT, N0, N1, Flags); in visitADD()
2991 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), VS); in visitADD()
3011 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), SV); in visitADD()
3036 return DAG.getNode(Opcode, DL, VT, N1, N0); in visitADDSAT()
3044 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitADDSAT()
3054 return DAG.getNode(ISD::ADD, DL, VT, N0, N1); in visitADDSAT()
3132 return DAG.getNode(IsAdd ? ISD::SUB : ISD::ADD, DL, VT, N0, N10); in foldAddSubMasked1()
3144 return DAG.getNode(ISD::SUB, DL, VT, N0, in visitADDLikeCommutative()
3145 DAG.getNode(ISD::SHL, DL, VT, Y, N)); in visitADDLikeCommutative()
3160 return DAG.getNode(ISD::SUB, DL, VT, N1, Not); in visitADDLikeCommutative()
3168 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), N1); in visitADDLikeCommutative()
3169 return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1)); in visitADDLikeCommutative()
3174 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N1, N0.getOperand(1)); in visitADDLikeCommutative()
3175 return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(0)); in visitADDLikeCommutative()
3183 SDValue NewC = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), in visitADDLikeCommutative()
3185 return DAG.getNode(ISD::MUL, DL, VT, N0.getOperand(0), NewC); in visitADDLikeCommutative()
3194 SDValue ZExt = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); in visitADDLikeCommutative()
3195 return DAG.getNode(ISD::SUB, DL, VT, N1, ZExt); in visitADDLikeCommutative()
3202 SDValue ZExt = DAG.getNode(ISD::AND, DL, VT, N1.getOperand(0), in visitADDLikeCommutative()
3204 return DAG.getNode(ISD::SUB, DL, VT, N0, ZExt); in visitADDLikeCommutative()
3211 return DAG.getNode(ISD::UADDO_CARRY, DL, N1->getVTList(), in visitADDLikeCommutative()
3217 return DAG.getNode(ISD::UADDO_CARRY, DL, in visitADDLikeCommutative()
3232 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDC()
3233 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitADDC()
3239 return DAG.getNode(ISD::ADDC, DL, N->getVTList(), N1, N0); in visitADDC()
3243 return CombineTo(N, N0, DAG.getNode(ISD::CARRY_FALSE, in visitADDC()
3248 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDC()
3249 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitADDC()
3307 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDO()
3313 return DAG.getNode(N->getOpcode(), DL, N->getVTList(), N1, N0); in visitADDO()
3321 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDO()
3327 return DAG.getNode(ISD::SSUBO, DL, N->getVTList(), in visitADDO()
3332 SDValue Sub = DAG.getNode(ISD::USUBO, DL, N->getVTList(), in visitADDO()
3359 return DAG.getNode(ISD::UADDO_CARRY, SDLoc(N), N->getVTList(), N0, Y, in visitUADDOLike()
3366 return DAG.getNode(ISD::UADDO_CARRY, SDLoc(N), N->getVTList(), N0, in visitUADDOLike()
3381 return DAG.getNode(ISD::ADDE, SDLoc(N), N->getVTList(), in visitADDE()
3386 return DAG.getNode(ISD::ADDC, SDLoc(N), N->getVTList(), N0, N1); in visitADDE()
3401 return DAG.getNode(ISD::UADDO_CARRY, DL, N->getVTList(), N1, N0, CarryIn); in visitUADDO_CARRY()
3407 return DAG.getNode(ISD::UADDO, DL, N->getVTList(), N0, N1); in visitUADDO_CARRY()
3415 AddToWorklist(CarryExt.getNode()); in visitUADDO_CARRY()
3416 return CombineTo(N, DAG.getNode(ISD::AND, DL, VT, CarryExt, in visitUADDO_CARRY()
3494 DAG.getNode(ISD::UADDO_CARRY, DL, Carry0->getVTList(), A, B, Z); in combineUADDO_CARRYDiamond()
3495 Combiner.AddToWorklist(NewY.getNode()); in combineUADDO_CARRYDiamond()
3496 return DAG.getNode(ISD::UADDO_CARRY, DL, N->getVTList(), X, in combineUADDO_CARRYDiamond()
3578 if (Carry1.getNode()->isOperandOf(Carry0.getNode())) in combineCarryDiamond()
3606 DAG.getNode(NewOp, DL, Carry1->getVTList(), Carry0.getOperand(0), in combineCarryDiamond()
3635 SDValue Sub = DAG.getNode(ISD::USUBO_CARRY, DL, N->getVTList(), N1, in visitUADDO_CARRYLike()
3649 return DAG.getNode(ISD::UADDO_CARRY, SDLoc(N), N->getVTList(), in visitUADDO_CARRYLike()
3673 return DAG.getNode(ISD::SSUBO_CARRY, SDLoc(N), N->getVTList(), N1, in visitSADDO_CARRYLike()
3690 return DAG.getNode(ISD::SADDO_CARRY, DL, N->getVTList(), N1, N0, CarryIn); in visitSADDO_CARRY()
3696 return DAG.getNode(ISD::SADDO, DL, N->getVTList(), N0, N1); in visitSADDO_CARRY()
3717 return DAG.getNode(ISD::USUBSAT, DL, DstVT, LHS, RHS); in getTruncatedUSUBSAT()
3730 RHS = DAG.getNode(ISD::UMIN, DL, SrcVT, RHS, SatLimit); in getTruncatedUSUBSAT()
3731 RHS = DAG.getNode(ISD::TRUNCATE, DL, DstVT, RHS); in getTruncatedUSUBSAT()
3732 LHS = DAG.getNode(ISD::TRUNCATE, DL, DstVT, LHS); in getTruncatedUSUBSAT()
3733 return DAG.getNode(ISD::USUBSAT, DL, DstVT, LHS, RHS); in getTruncatedUSUBSAT()
3823 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitSUB()
3832 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
3845 return DAG.getNode(NewSh, DL, VT, N1.getOperand(0), N1.getOperand(1)); in visitSUB()
3866 if (SDValue Result = TLI.expandABS(N1.getNode(), DAG, true)) in visitSUB()
3880 return DAG.getNode(ISD::XOR, DL, VT, N1, N0); in visitSUB()
3884 return DAG.getNode(ISD::ADD, DL, VT, N0, N1.getOperand(1)); in visitSUB()
3902 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), NewC); in visitSUB()
3909 return DAG.getNode(ISD::SUB, DL, VT, NewC, N1.getOperand(0)); in visitSUB()
3916 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), NewC); in visitSUB()
3923 return DAG.getNode(ISD::SUB, DL, VT, NewC, N0.getOperand(1)); in visitSUB()
3930 return DAG.getNode(ISD::ADD, DL, VT, A, C); in visitSUB()
3934 return DAG.getNode(ISD::SUB, DL, VT, A, C); in visitSUB()
3938 return DAG.getNode(ISD::SUB, DL, VT, A, B); in visitSUB()
3942 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
3943 DAG.getNode(ISD::SUB, DL, VT, C, B)); in visitSUB()
3948 return DAG.getNode(ISD::AND, DL, VT, N0, DAG.getNOT(DL, B, VT)); in visitSUB()
3952 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
3953 DAG.getNode(ISD::MUL, DL, VT, B, C)); in visitSUB()
3979 return DAG.getNode(ISD::ADD, DL, VT, A, DAG.getNOT(DL, B, VT)); in visitSUB()
3986 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0, N1.getOperand(0)); in visitSUB()
3987 return DAG.getNode(ISD::ADD, DL, VT, Add, DAG.getConstant(1, DL, VT)); in visitSUB()
3995 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), N1); in visitSUB()
3996 return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(1)); in visitSUB()
4001 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, N1.getOperand(0)); in visitSUB()
4002 return DAG.getNode(ISD::SUB, DL, VT, Sub, N1.getOperand(1)); in visitSUB()
4008 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), N1); in visitSUB()
4009 return DAG.getNode(ISD::SUB, DL, VT, Sub, N0.getOperand(1)); in visitSUB()
4014 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), N1); in visitSUB()
4015 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), Add); in visitSUB()
4025 SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND, DL, VT, N1.getOperand(0)); in visitSUB()
4026 return DAG.getNode(ISD::ADD, DL, VT, N0, SExt); in visitSUB()
4033 return DAG.getNode(ISD::ABS, DL, VT, A); in visitSUB()
4049 SDValue ZExt = DAG.getNode(ISD::AND, DL, VT, N1.getOperand(0), in visitSUB()
4051 return DAG.getNode(ISD::ADD, DL, VT, N0, ZExt); in visitSUB()
4058 return DAG.getNode(ISD::ADD, DL, VT, N0, DAG.getVScale(DL, VT, -IntVal)); in visitSUB()
4064 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
4074 SDValue SRA = DAG.getNode(ISD::SRA, DL, VT, N1.getOperand(0), ShAmt); in visitSUB()
4075 return DAG.getNode(ISD::ADD, DL, VT, N0, SRA); in visitSUB()
4085 return DAG.getNode(ISD::ADD, DL, VT, N1, N0); in visitSUB()
4091 return DAG.getNode(ISD::USUBO_CARRY, DL, N0->getVTList(), in visitSUB()
4099 SDValue NegX = DAG.getNode(ISD::SUB, DL, VT, Zero, X); in visitSUB()
4100 return DAG.getNode(ISD::UADDO_CARRY, DL, in visitSUB()
4113 return DAG.getNode(ISD::XOR, DL, VT, N1, N0); in visitSUB()
4121 return DAG.getNode(ISD::ABDS, DL, VT, A, B); in visitSUB()
4127 return DAG.getNode(ISD::ABDU, DL, VT, A, B); in visitSUB()
4158 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitSUBSAT()
4168 return DAG.getNode(ISD::SUB, DL, VT, N0, N1); in visitSUBSAT()
4181 return CombineTo(N, DAG.getNode(ISD::SUB, DL, VT, N0, N1), in visitSUBC()
4182 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4187 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4191 return CombineTo(N, N0, DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4195 return CombineTo(N, DAG.getNode(ISD::XOR, DL, VT, N1, N0), in visitSUBC()
4196 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4212 return CombineTo(N, DAG.getNode(ISD::SUB, DL, VT, N0, N1), in visitSUBO()
4223 return DAG.getNode(ISD::SADDO, DL, N->getVTList(), N0, in visitSUBO()
4232 return CombineTo(N, DAG.getNode(ISD::SUB, DL, VT, N0, N1), in visitSUBO()
4237 return CombineTo(N, DAG.getNode(ISD::XOR, DL, VT, N1, N0), in visitSUBO()
4250 return DAG.getNode(ISD::SUBC, SDLoc(N), N->getVTList(), N0, N1); in visitSUBE()
4264 return DAG.getNode(ISD::USUBO, SDLoc(N), N->getVTList(), N0, N1); in visitUSUBO_CARRY()
4279 return DAG.getNode(ISD::SSUBO, SDLoc(N), N->getVTList(), N0, N1); in visitSSUBO_CARRY()
4300 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N1, N0, Scale); in visitMULFIX()
4329 return Matcher.getNode(ISD::MUL, DL, VT, N1, N0); in visitMUL()
4342 N1IsConst = ISD::isConstantSplatVector(N1.getNode(), ConstValue1); in visitMUL()
4367 return Matcher.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT), N0); in visitMUL()
4375 return Matcher.getNode(ISD::SHL, DL, VT, N0, Trunc); in visitMUL()
4385 return Matcher.getNode( in visitMUL()
4387 Matcher.getNode(ISD::SHL, DL, VT, N0, in visitMUL()
4445 DAG.getNode(ISD::SHL, DL, VT, N0, DAG.getConstant(ShAmt, DL, VT)); in visitMUL()
4447 TZeros ? DAG.getNode(MathOp, DL, VT, Shl, in visitMUL()
4448 DAG.getNode(ISD::SHL, DL, VT, N0, in visitMUL()
4450 : DAG.getNode(MathOp, DL, VT, Shl, N0); in visitMUL()
4461 return DAG.getNode(ISD::MUL, DL, VT, N0.getOperand(0), C3); in visitMUL()
4478 if (Sh.getNode()) { in visitMUL()
4479 SDValue Mul = Matcher.getNode(ISD::MUL, DL, VT, Sh.getOperand(0), Y); in visitMUL()
4480 return Matcher.getNode(ISD::SHL, DL, VT, Mul, Sh.getOperand(1)); in visitMUL()
4489 return Matcher.getNode( in visitMUL()
4491 Matcher.getNode(ISD::MUL, SDLoc(N0), VT, N0.getOperand(0), N1), in visitMUL()
4492 Matcher.getNode(ISD::MUL, SDLoc(N1), VT, N0.getOperand(1), N1)); in visitMUL()
4505 ISD::isConstantSplatVector(N1.getNode(), MulVal)) { in visitMUL()
4518 return Matcher.getNode(ISD::ABS, DL, VT, X); in visitMUL()
4547 return DAG.getNode(ISD::AND, DL, VT, N0, DAG.getBuildVector(VT, DL, Mask)); in visitMUL()
4642 combined = DAG.getNode(DivRemOpc, SDLoc(Node), VTs, Op0, Op1); in useDivRem()
4741 return DAG.getNode(ISD::UDIV, DL, N1.getValueType(), N0, N1); in visitSDIV()
4748 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, V, N1); in visitSDIV()
4749 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, Mul); in visitSDIV()
4750 AddToWorklist(Mul.getNode()); in visitSDIV()
4751 AddToWorklist(Sub.getNode()); in visitSDIV()
4802 SDValue C1 = DAG.getNode(ISD::CTTZ, DL, VT, N1); in visitSDIVLike()
4804 SDValue Inexact = DAG.getNode(ISD::SUB, DL, ShiftAmtTy, Bits, C1); in visitSDIVLike()
4809 SDValue Sign = DAG.getNode(ISD::SRA, DL, VT, N0, in visitSDIVLike()
4811 AddToWorklist(Sign.getNode()); in visitSDIVLike()
4814 SDValue Srl = DAG.getNode(ISD::SRL, DL, VT, Sign, Inexact); in visitSDIVLike()
4815 AddToWorklist(Srl.getNode()); in visitSDIVLike()
4816 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0, Srl); in visitSDIVLike()
4817 AddToWorklist(Add.getNode()); in visitSDIVLike()
4818 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Add, C1); in visitSDIVLike()
4819 AddToWorklist(Sra.getNode()); in visitSDIVLike()
4827 SDValue IsOneOrAllOnes = DAG.getNode(ISD::OR, DL, CCVT, IsOne, IsAllOnes); in visitSDIVLike()
4833 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, Zero, Sra); in visitSDIVLike()
4888 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, V, N1); in visitUDIV()
4889 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, Mul); in visitUDIV()
4890 AddToWorklist(Mul.getNode()); in visitUDIV()
4891 AddToWorklist(Sub.getNode()); in visitUDIV()
4915 AddToWorklist(LogBase2.getNode()); in visitUDIVLike()
4919 AddToWorklist(Trunc.getNode()); in visitUDIVLike()
4920 return DAG.getNode(ISD::SRL, DL, VT, N0, Trunc); in visitUDIVLike()
4929 AddToWorklist(LogBase2.getNode()); in visitUDIVLike()
4933 AddToWorklist(Trunc.getNode()); in visitUDIVLike()
4934 SDValue Add = DAG.getNode(ISD::ADD, DL, ADDVT, N1.getOperand(1), Trunc); in visitUDIVLike()
4935 AddToWorklist(Add.getNode()); in visitUDIVLike()
4936 return DAG.getNode(ISD::SRL, DL, VT, N0, Add); in visitUDIVLike()
4995 return DAG.getNode(ISD::UREM, DL, VT, N0, N1); in visitREM()
5000 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N1, NegOne); in visitREM()
5001 AddToWorklist(Add.getNode()); in visitREM()
5002 return DAG.getNode(ISD::AND, DL, VT, N0, Add); in visitREM()
5011 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N1, NegOne); in visitREM()
5012 AddToWorklist(Add.getNode()); in visitREM()
5013 return DAG.getNode(ISD::AND, DL, VT, N0, Add); in visitREM()
5035 if (OptimizedDiv.getNode() && OptimizedDiv.getNode() != N) { in visitREM()
5041 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, OptimizedDiv, N1); in visitREM()
5042 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, Mul); in visitREM()
5043 AddToWorklist(OptimizedDiv.getNode()); in visitREM()
5044 AddToWorklist(Mul.getNode()); in visitREM()
5069 return DAG.getNode(ISD::MULHS, DL, N->getVTList(), N1, N0); in visitMULHS()
5077 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitMULHS()
5087 return DAG.getNode( in visitMULHS()
5103 N0 = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N0); in visitMULHS()
5104 N1 = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N1); in visitMULHS()
5105 N1 = DAG.getNode(ISD::MUL, DL, NewVT, N0, N1); in visitMULHS()
5106 N1 = DAG.getNode(ISD::SRL, DL, NewVT, N1, in visitMULHS()
5108 return DAG.getNode(ISD::TRUNCATE, DL, VT, N1); in visitMULHS()
5128 return DAG.getNode(ISD::MULHU, DL, N->getVTList(), N1, N0); in visitMULHU()
5136 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitMULHU()
5157 SDValue SRLAmt = DAG.getNode( in visitMULHU()
5161 return DAG.getNode(ISD::SRL, DL, VT, N0, Trunc); in visitMULHU()
5173 N0 = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N0); in visitMULHU()
5174 N1 = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N1); in visitMULHU()
5175 N1 = DAG.getNode(ISD::MUL, DL, NewVT, N0, N1); in visitMULHU()
5176 N1 = DAG.getNode(ISD::SRL, DL, NewVT, N1, in visitMULHU()
5178 return DAG.getNode(ISD::TRUNCATE, DL, VT, N1); in visitMULHU()
5206 return DAG.getNode(Opcode, DL, N->getVTList(), N1, N0); in visitAVG()
5225 return DAG.getNode(ISD::SRA, DL, VT, X, in visitAVG()
5228 return DAG.getNode(ISD::SRL, DL, VT, X, in visitAVG()
5237 SDValue AvgU = DAG.getNode(Opcode, DL, X.getValueType(), X, Y); in visitAVG()
5238 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, AvgU); in visitAVG()
5244 SDValue AvgS = DAG.getNode(Opcode, DL, X.getValueType(), X, Y); in visitAVG()
5245 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, AvgS); in visitAVG()
5254 return DAG.getNode( in visitAVG()
5256 DAG.getNode(ISD::ADD, DL, VT, N1, DAG.getAllOnesConstant(DL, VT))); in visitAVG()
5258 return DAG.getNode( in visitAVG()
5260 DAG.getNode(ISD::ADD, DL, VT, N0, DAG.getAllOnesConstant(DL, VT))); in visitAVG()
5280 return DAG.getNode(Opcode, DL, N->getVTList(), N1, N0); in visitABD()
5295 return DAG.getNode(ISD::ABS, DL, VT, X); in visitABD()
5304 return DAG.getNode(ISD::ABDU, DL, VT, N1, N0); in visitABD()
5318 SDValue Res = DAG.getNode(LoOp, SDLoc(N), N->getValueType(0), N->ops()); in SimplifyNodeWithTwoResults()
5326 SDValue Res = DAG.getNode(HiOp, SDLoc(N), N->getValueType(1), N->ops()); in SimplifyNodeWithTwoResults()
5336 SDValue Lo = DAG.getNode(LoOp, SDLoc(N), N->getValueType(0), N->ops()); in SimplifyNodeWithTwoResults()
5337 AddToWorklist(Lo.getNode()); in SimplifyNodeWithTwoResults()
5338 SDValue LoOpt = combine(Lo.getNode()); in SimplifyNodeWithTwoResults()
5339 if (LoOpt.getNode() && LoOpt.getNode() != Lo.getNode() && in SimplifyNodeWithTwoResults()
5346 SDValue Hi = DAG.getNode(HiOp, SDLoc(N), N->getValueType(1), N->ops()); in SimplifyNodeWithTwoResults()
5347 AddToWorklist(Hi.getNode()); in SimplifyNodeWithTwoResults()
5348 SDValue HiOpt = combine(Hi.getNode()); in SimplifyNodeWithTwoResults()
5349 if (HiOpt.getNode() && HiOpt != Hi && in SimplifyNodeWithTwoResults()
5369 return DAG.getNode(ISD::SMUL_LOHI, DL, N->getVTList(), N0, N1); in visitSMUL_LOHI()
5374 return DAG.getNode(ISD::SMUL_LOHI, DL, N->getVTList(), N1, N0); in visitSMUL_LOHI()
5383 SDValue Lo = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N0); in visitSMUL_LOHI()
5384 SDValue Hi = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N1); in visitSMUL_LOHI()
5385 Lo = DAG.getNode(ISD::MUL, DL, NewVT, Lo, Hi); in visitSMUL_LOHI()
5387 Hi = DAG.getNode(ISD::SRL, DL, NewVT, Lo, in visitSMUL_LOHI()
5389 Hi = DAG.getNode(ISD::TRUNCATE, DL, VT, Hi); in visitSMUL_LOHI()
5391 Lo = DAG.getNode(ISD::TRUNCATE, DL, VT, Lo); in visitSMUL_LOHI()
5410 return DAG.getNode(ISD::UMUL_LOHI, DL, N->getVTList(), N0, N1); in visitUMUL_LOHI()
5415 return DAG.getNode(ISD::UMUL_LOHI, DL, N->getVTList(), N1, N0); in visitUMUL_LOHI()
5436 SDValue Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N0); in visitUMUL_LOHI()
5437 SDValue Hi = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N1); in visitUMUL_LOHI()
5438 Lo = DAG.getNode(ISD::MUL, DL, NewVT, Lo, Hi); in visitUMUL_LOHI()
5440 Hi = DAG.getNode(ISD::SRL, DL, NewVT, Lo, in visitUMUL_LOHI()
5442 Hi = DAG.getNode(ISD::TRUNCATE, DL, VT, Hi); in visitUMUL_LOHI()
5444 Lo = DAG.getNode(ISD::TRUNCATE, DL, VT, Lo); in visitUMUL_LOHI()
5479 return DAG.getNode(N->getOpcode(), DL, N->getVTList(), N1, N0); in visitMULO()
5490 return DAG.getNode(IsSigned ? ISD::SADDO : ISD::UADDO, DL, in visitMULO()
5495 SDValue And = DAG.getNode(ISD::AND, DL, VT, N0, N1); in visitMULO()
5503 return CombineTo(N, DAG.getNode(ISD::MUL, DL, VT, N0, N1), in visitMULO()
5634 SDValue Sat = DAG.getNode(NewOpc, DL, NewVT, Fp.getOperand(0), in PerformMinMaxFpToSatCombine()
5670 DAG.getNode(ISD::FP_TO_UINT_SAT, SDLoc(N0), NewVT, N0.getOperand(0), in PerformUMinFpToSatCombine()
5693 return DAG.getNode(Opcode, DL, VT, N1, N0); in visitIMINMAX()
5721 return DAG.getNode(AltOpcode, DL, VT, N0, N1); in visitIMINMAX()
5802 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5804 return DAG.getNode(HandOpcode, DL, VT, Logic, N0.getOperand(1)); in hoistLogicOpWithSameOpcodeHands()
5805 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5826 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5827 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5838 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5839 return DAG.getNode(HandOpcode, DL, VT, Logic, N0.getOperand(1)); in hoistLogicOpWithSameOpcodeHands()
5847 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5848 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5861 SDValue Logic0 = DAG.getNode(LogicOpcode, DL, VT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5862 SDValue Logic1 = DAG.getNode(LogicOpcode, DL, VT, X1, Y1); in hoistLogicOpWithSameOpcodeHands()
5863 return DAG.getNode(HandOpcode, DL, VT, Logic0, Logic1, S); in hoistLogicOpWithSameOpcodeHands()
5879 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5880 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5917 if (N0.getOperand(1) == N1.getOperand(1) && ShOp.getNode()) { in hoistLogicOpWithSameOpcodeHands()
5918 SDValue Logic = DAG.getNode(LogicOpcode, DL, VT, in hoistLogicOpWithSameOpcodeHands()
5930 if (N0.getOperand(0) == N1.getOperand(0) && ShOp.getNode()) { in hoistLogicOpWithSameOpcodeHands()
5931 SDValue Logic = DAG.getNode(LogicOpcode, DL, VT, N0.getOperand(1), in hoistLogicOpWithSameOpcodeHands()
5986 SDValue Or = DAG.getNode(ISD::OR, SDLoc(N0), OpVT, LL, RL); in foldLogicOfSetCCs()
5987 AddToWorklist(Or.getNode()); in foldLogicOfSetCCs()
6005 SDValue And = DAG.getNode(ISD::AND, SDLoc(N0), OpVT, LL, RL); in foldLogicOfSetCCs()
6006 AddToWorklist(And.getNode()); in foldLogicOfSetCCs()
6019 SDValue Add = DAG.getNode(ISD::ADD, SDLoc(N0), OpVT, LL, One); in foldLogicOfSetCCs()
6020 AddToWorklist(Add.getNode()); in foldLogicOfSetCCs()
6031 SDValue XorL = DAG.getNode(ISD::XOR, SDLoc(N0), OpVT, LL, LR); in foldLogicOfSetCCs()
6032 SDValue XorR = DAG.getNode(ISD::XOR, SDLoc(N1), OpVT, RL, RR); in foldLogicOfSetCCs()
6033 SDValue Or = DAG.getNode(ISD::OR, DL, OpVT, XorL, XorR); in foldLogicOfSetCCs()
6052 SDValue Max = DAG.getNode(ISD::UMAX, DL, OpVT, LR, RR); in foldLogicOfSetCCs()
6053 SDValue Min = DAG.getNode(ISD::UMIN, DL, OpVT, LR, RR); in foldLogicOfSetCCs()
6054 SDValue Offset = DAG.getNode(ISD::SUB, DL, OpVT, LL, Min); in foldLogicOfSetCCs()
6055 SDValue Diff = DAG.getNode(ISD::SUB, DL, OpVT, Max, Min); in foldLogicOfSetCCs()
6057 SDValue And = DAG.getNode(ISD::AND, DL, OpVT, Offset, Mask); in foldLogicOfSetCCs()
6166 LogicOp, LHS.getNode(), RHS.getNode()); in foldAndOrOfSETCC()
6261 DAG.getNode(NewOpcode, DL, OpVT, Operand1, Operand2); in foldAndOrOfSETCC()
6286 SDValue AbsOp = DAG.getNode(ISD::ABS, DL, OpVT, LHS0); in foldAndOrOfSETCC()
6287 return DAG.getNode(ISD::SETCC, DL, VT, AbsOp, in foldAndOrOfSETCC()
6315 SDValue AndOp = DAG.getNode(ISD::AND, DL, OpVT, NotOp, in foldAndOrOfSETCC()
6317 return DAG.getNode(ISD::SETCC, DL, VT, AndOp, in foldAndOrOfSETCC()
6321 SDValue AddOp = DAG.getNode(ISD::ADD, DL, OpVT, LHS0, in foldAndOrOfSETCC()
6323 SDValue AndOp = DAG.getNode(ISD::AND, DL, OpVT, AddOp, in foldAndOrOfSETCC()
6325 return DAG.getNode(ISD::SETCC, DL, VT, AndOp, in foldAndOrOfSETCC()
6359 return DAG.getNode(ISD::AND, DL, OpVT, CondMask, T.getOperand(0)); in combineSelectAsExtAnd()
6402 DAG.getNode(ISD::ADD, DL0, VT, in visitANDLike()
6404 CombineTo(N0.getNode(), NewAdd); in visitANDLike()
6601 if (!SearchForAndLoads(Op.getNode(), Loads, NodesWithConsts, Mask, in SearchForAndLoads()
6612 NodeToMask = Op.getNode(); in SearchForAndLoads()
6657 SDValue And = DAG.getNode(ISD::AND, SDLoc(FixupNode), in BackwardsPropagateMask()
6662 DAG.UpdateNodeOperands(And.getNode(), SDValue(FixupNode, 0), MaskOp); in BackwardsPropagateMask()
6672 DAG.getNode(ISD::AND, SDLoc(Op0), Op0.getValueType(), Op0, MaskOp); in BackwardsPropagateMask()
6676 DAG.getNode(ISD::AND, SDLoc(Op1), Op1.getValueType(), Op1, MaskOp); in BackwardsPropagateMask()
6687 SDValue And = DAG.getNode(ISD::AND, SDLoc(Load), Load->getValueType(0), in BackwardsPropagateMask()
6692 DAG.UpdateNodeOperands(And.getNode(), SDValue(Load, 0), MaskOp), 0); in BackwardsPropagateMask()
6693 SDValue NewLoad = reduceLoadWidth(And.getNode()); in BackwardsPropagateMask()
6698 DAG.ReplaceAllUsesWith(N, N->getOperand(0).getNode()); in BackwardsPropagateMask()
6751 SDValue T0 = DAG.getNode(InnerShift, DL, VT, X, Y); in unfoldExtremeBitClearingToShifts()
6753 SDValue T1 = DAG.getNode(OuterShift, DL, VT, T0, Y); in unfoldExtremeBitClearingToShifts()
6827 SDValue NewAnd = DAG.getNode(ISD::AND, DL, SrcVT, X, Mask); in combineShiftAnd1ToBitTest()
6852 return DAG.getNode(ISD::USUBSAT, DL, VT, X, in foldAndToUsubsat()
6897 SDValue LogicX = DAG.getNode(LogicOpcode, DL, VT, X0, X1); in foldLogicOfShifts()
6898 SDValue NewShift = DAG.getNode(ShiftOpcode, DL, VT, LogicX, Y); in foldLogicOfShifts()
6899 return DAG.getNode(LogicOpcode, DL, VT, NewShift, Z); in foldLogicOfShifts()
6936 return DAG.getNode(LogicOpcode, DL, VT, CombinedShifts, W); in foldLogicTreeOfShifts()
6956 return DAG.getNode(ISD::AND, DL, VT, N1, N0); in visitAND()
6967 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitAND()
6973 if (ISD::isConstantSplatVectorAllOnes(N1.getNode())) in visitAND()
7047 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0Op0); in visitAND()
7054 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, in visitAND()
7055 DAG.getNode(ISD::AND, DL, SrcVT, N0Op0, in visitAND()
7069 DAG.getNode(ISD::AND, DL, VT, N1, in visitAND()
7070 DAG.getNode(ExtOpc, DL, VT, N0Op0.getOperand(1))); in visitAND()
7071 return DAG.getNode(ISD::AND, DL, VT, in visitAND()
7072 DAG.getNode(ExtOpc, DL, VT, N0Op0.getOperand(0)), in visitAND()
7156 CombineTo(N, (N0.getNode() == Load) ? NewLoad : N0); in visitAND()
7199 DAG.getNode(ISD::ZERO_EXTEND, DL, ExtVT, Extendee); in visitAND()
7201 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, ZeroExtExtendee, in visitAND()
7212 isConstantSplatVectorMaskForType(N1.getNode(), ScalarVT) && in visitAND()
7222 AddToWorklist(ZExtLoad.getNode()); in visitAND()
7271 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, SubRHS.getOperand(0)); in visitAND()
7282 if (ISD::isUNINDEXEDLoad(N0.getNode()) && in visitAND()
7283 (ISD::isEXTLoad(N0.getNode()) || in visitAND()
7284 (ISD::isSEXTLoad(N0.getNode()) && N0.hasOneUse()))) { in visitAND()
7299 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitAND()
7306 if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0), in visitAND()
7340 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); in visitAND()
7462 SDValue Res = DAG.getNode(ISD::BSWAP, SDLoc(N), VT, N00); in MatchBSwapHWordLow()
7465 Res = DAG.getNode(ISD::SRL, DL, VT, Res, in MatchBSwapHWordLow()
7557 Parts[MaskByteOffset] = N0.getOperand(0).getNode(); in isBSwapHWordElement()
7571 Parts[0] = Parts[1] = N.getOperand(0).getOperand(0).getNode(); in isBSwapHWordPair()
7615 SDValue BSwap = DAG.getNode(ISD::BSWAP, DL, VT, Shift0.getOperand(0)); in matchBSwapHWordOrAndAnd()
7617 return DAG.getNode(ISD::ROTR, DL, VT, BSwap, ShAmt); in matchBSwapHWordOrAndAnd()
7672 SDValue BSwap = DAG.getNode(ISD::BSWAP, DL, VT, in MatchBSwapHWord()
7679 return DAG.getNode(ISD::ROTL, DL, VT, BSwap, ShAmt); in MatchBSwapHWord()
7681 return DAG.getNode(ISD::ROTR, DL, VT, BSwap, ShAmt); in MatchBSwapHWord()
7682 return DAG.getNode(ISD::OR, DL, VT, in MatchBSwapHWord()
7683 DAG.getNode(ISD::SHL, DL, VT, BSwap, ShAmt), in MatchBSwapHWord()
7684 DAG.getNode(ISD::SRL, DL, VT, BSwap, ShAmt)); in MatchBSwapHWord()
7716 SDValue X = DAG.getNode(ISD::OR, SDLoc(N0), VT, in visitORLike()
7718 return DAG.getNode(ISD::AND, DL, VT, X, in visitORLike()
7731 SDValue X = DAG.getNode(ISD::OR, SDLoc(N0), VT, in visitORLike()
7733 return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), X); in visitORLike()
7767 return DAG.getNode(ISD::OR, DL, VT, DAG.getZExtOrTrunc(N00, DL, VT), in visitORCommutative()
7775 return DAG.getNode(ISD::OR, DL, VT, DAG.getZExtOrTrunc(N01, DL, VT), in visitORCommutative()
7784 return DAG.getNode(ISD::OR, DL, VT, X, N1); in visitORCommutative()
7790 return DAG.getNode(ISD::OR, DL, VT, X, Y); in visitORCommutative()
7825 Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, NotLo); in visitORCommutative()
7826 Hi = DAG.getNode(ISD::ANY_EXTEND, DL, VT, NotHi); in visitORCommutative()
7827 Hi = DAG.getNode(ISD::SHL, DL, VT, Hi, in visitORCommutative()
7829 return DAG.getNOT(DL, DAG.getNode(ISD::OR, DL, VT, Lo, Hi), VT); in visitORCommutative()
7853 return DAG.getNode(ISD::OR, DL, VT, N1, N0); in visitOR()
7861 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitOR()
7865 if (ISD::isConstantSplatVectorAllOnes(N1.getNode())) in visitOR()
7874 bool ZeroN00 = ISD::isBuildVectorAllZeros(N0.getOperand(0).getNode()); in visitOR()
7875 bool ZeroN01 = ISD::isBuildVectorAllZeros(N0.getOperand(1).getNode()); in visitOR()
7876 bool ZeroN10 = ISD::isBuildVectorAllZeros(N1.getOperand(0).getNode()); in visitOR()
7877 bool ZeroN11 = ISD::isBuildVectorAllZeros(N1.getOperand(1).getNode()); in visitOR()
7975 SDValue IOR = DAG.getNode(ISD::OR, SDLoc(N0), VT, N0.getOperand(0), N1); in visitOR()
7976 AddToWorklist(IOR.getNode()); in visitOR()
7977 return DAG.getNode(ISD::AND, DL, VT, COR, IOR); in visitOR()
8085 return DAG.getNode(ISD::SHL, DL, ShiftedVT, OppShiftLHS, in extractShiftForRotate()
8165 return DAG.getNode(Opcode, DL, ResVT, OppShiftLHS, NewShiftNode); in extractShiftForRotate()
8316 return DAG.getNode(HasPos ? PosOpcode : NegOpcode, DL, VT, Shifted, in MatchRotatePosNeg()
8345 return DAG.getNode(HasPos ? PosOpcode : NegOpcode, DL, VT, N0, N1, in MatchFunnelPosNeg()
8366 return DAG.getNode(ISD::FSHL, DL, VT, N0, N1.getOperand(0), Pos); in MatchFunnelPosNeg()
8375 return DAG.getNode(ISD::FSHR, DL, VT, N0.getOperand(0), N1, Neg); in MatchFunnelPosNeg()
8385 return DAG.getNode(ISD::FSHR, DL, VT, N0.getOperand(0), N1, Neg); in MatchFunnelPosNeg()
8424 return DAG.getNode(ISD::TRUNCATE, SDLoc(LHS), LHS.getValueType(), Rot); in MatchRotate()
8493 if (LHSMask.getNode() || RHSMask.getNode()) { in MatchRotate()
8497 if (LHSMask.getNode()) { in MatchRotate()
8498 SDValue RHSBits = DAG.getNode(ISD::SRL, DL, VT, AllOnes, RHSShiftAmt); in MatchRotate()
8499 Mask = DAG.getNode(ISD::AND, DL, VT, Mask, in MatchRotate()
8500 DAG.getNode(ISD::OR, DL, VT, LHSMask, RHSBits)); in MatchRotate()
8502 if (RHSMask.getNode()) { in MatchRotate()
8503 SDValue LHSBits = DAG.getNode(ISD::SHL, DL, VT, AllOnes, LHSShiftAmt); in MatchRotate()
8504 Mask = DAG.getNode(ISD::AND, DL, VT, Mask, in MatchRotate()
8505 DAG.getNode(ISD::OR, DL, VT, RHSMask, LHSBits)); in MatchRotate()
8508 Res = DAG.getNode(ISD::AND, DL, VT, Res, Mask); in MatchRotate()
8541 SDValue RotX = DAG.getNode(ISD::ROTL, DL, VT, X, LHSShiftAmt); in MatchRotate()
8542 SDValue ShlY = DAG.getNode(ISD::SHL, DL, VT, Y, LHSShiftAmt); in MatchRotate()
8543 Res = DAG.getNode(ISD::OR, DL, VT, RotX, ShlY); in MatchRotate()
8546 SDValue RotX = DAG.getNode(ISD::ROTL, DL, VT, X, LHSShiftAmt); in MatchRotate()
8547 SDValue SrlY = DAG.getNode(ISD::SRL, DL, VT, Y, RHSShiftAmt); in MatchRotate()
8548 Res = DAG.getNode(ISD::OR, DL, VT, RotX, SrlY); in MatchRotate()
8568 Res = DAG.getNode(UseROTL ? ISD::ROTL : ISD::ROTR, DL, VT, LHSShiftArg, in MatchRotate()
8572 Res = DAG.getNode(UseFSHL ? ISD::FSHL : ISD::FSHR, DL, VT, LHSShiftArg, in MatchRotate()
8586 if (LHSMask.getNode() || RHSMask.getNode()) in MatchRotate()
8791 auto L = cast<LoadSDNode>(Op.getNode()); in calculateByteProvider()
9051 SourceValue = DAG.getNode(ISD::TRUNCATE, DL, WideVT, SourceValue); in mergeTruncStores()
9058 SourceValue = DAG.getNode(ISD::BSWAP, DL, WideVT, SourceValue); in mergeTruncStores()
9062 SourceValue = DAG.getNode(ISD::ROTR, DL, WideVT, SourceValue, RotAmt); in mergeTruncStores()
9070 DAG.ReplaceAllUsesWith(N, NewStore.getNode()); in mergeTruncStores()
9280 NeedsZext ? DAG.getNode(ISD::SHL, SDLoc(N), VT, NewLoad, in MatchLoadCombine()
9284 return DAG.getNode(ISD::BSWAP, SDLoc(N), VT, ShiftedLoad); in MatchLoadCombine()
9345 if (isa<ConstantSDNode>(M.getNode())) in unfoldMaskedMerge()
9360 SDValue LHS = DAG.getNode(ISD::AND, DL, VT, NotX, M); in unfoldMaskedMerge()
9362 SDValue RHS = DAG.getNode(ISD::OR, DL, VT, M, Y); in unfoldMaskedMerge()
9363 return DAG.getNode(ISD::AND, DL, VT, NotLHS, RHS); in unfoldMaskedMerge()
9372 SDValue LHS = DAG.getNode(ISD::OR, DL, VT, X, NotM); in unfoldMaskedMerge()
9374 SDValue RHS = DAG.getNode(ISD::AND, DL, VT, NotM, NotY); in unfoldMaskedMerge()
9376 return DAG.getNode(ISD::AND, DL, VT, LHS, NotRHS); in unfoldMaskedMerge()
9379 SDValue LHS = DAG.getNode(ISD::AND, DL, VT, X, M); in unfoldMaskedMerge()
9381 SDValue RHS = DAG.getNode(ISD::AND, DL, VT, Y, NotM); in unfoldMaskedMerge()
9383 return DAG.getNode(ISD::OR, DL, VT, LHS, RHS); in unfoldMaskedMerge()
9409 return DAG.getNode(ISD::XOR, DL, VT, N1, N0); in visitXOR()
9417 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitXOR()
9442 return DAG.getNode(ISD::OR, DL, VT, N0, N1, Flags); in visitXOR()
9479 recursivelyDeleteUnusedNodes(N0.getNode()); in visitXOR()
9493 V = DAG.getNode(ISD::XOR, DL0, V.getValueType(), V, in visitXOR()
9495 AddToWorklist(V.getNode()); in visitXOR()
9496 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, V); in visitXOR()
9505 N00 = DAG.getNode(ISD::XOR, SDLoc(N00), VT, N00, N1); // N00 = ~N00 in visitXOR()
9506 N01 = DAG.getNode(ISD::XOR, SDLoc(N01), VT, N01, N1); // N01 = ~N01 in visitXOR()
9507 AddToWorklist(N00.getNode()); AddToWorklist(N01.getNode()); in visitXOR()
9508 return DAG.getNode(NewOpcode, DL, VT, N00, N01); in visitXOR()
9517 N00 = DAG.getNode(ISD::XOR, SDLoc(N00), VT, N00, N1); // N00 = ~N00 in visitXOR()
9518 N01 = DAG.getNode(ISD::XOR, SDLoc(N01), VT, N01, N1); // N01 = ~N01 in visitXOR()
9519 AddToWorklist(N00.getNode()); AddToWorklist(N01.getNode()); in visitXOR()
9520 return DAG.getNode(NewOpcode, DL, VT, N00, N01); in visitXOR()
9529 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), in visitXOR()
9543 AddToWorklist(NotX.getNode()); in visitXOR()
9544 return DAG.getNode(ISD::AND, DL, VT, NotX, N1); in visitXOR()
9557 return DAG.getNode(ISD::ABS, DL, VT, S0); in visitXOR()
9585 return DAG.getNode(ISD::ROTL, DL, VT, DAG.getConstant(~1, DL, VT), in visitXOR()
9683 SDValue NewShift1 = DAG.getNode(ShiftOpcode, DL, VT, X, ShiftSumC); in combineShiftOfShiftedLogic()
9684 SDValue NewShift2 = DAG.getNode(ShiftOpcode, DL, VT, Y, C1); in combineShiftOfShiftedLogic()
9685 return DAG.getNode(LogicOpcode, DL, VT, NewShift1, NewShift2, in combineShiftOfShiftedLogic()
9750 SDValue NewShift = DAG.getNode(N->getOpcode(), DL, VT, LHS.getOperand(0), in visitShiftByConstant()
9752 return DAG.getNode(LHS.getOpcode(), DL, VT, NewShift, NewRHS); in visitShiftByConstant()
9770 SDValue Trunc00 = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, N00); in distributeTruncateThroughAnd()
9771 SDValue Trunc01 = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, N01); in distributeTruncateThroughAnd()
9772 AddToWorklist(Trunc00.getNode()); in distributeTruncateThroughAnd()
9773 AddToWorklist(Trunc01.getNode()); in distributeTruncateThroughAnd()
9774 return DAG.getNode(ISD::AND, DL, TruncVT, Trunc00, Trunc01); in distributeTruncateThroughAnd()
9810 return DAG.getNode(N->getOpcode(), dl, VT, N0, Amt); in visitRotate()
9817 return DAG.getNode(ISD::BSWAP, dl, VT, N0); in visitRotate()
9826 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitRotate()
9827 return DAG.getNode(N->getOpcode(), dl, VT, N0, NewOp1); in visitRotate()
9853 return DAG.getNode(N->getOpcode(), dl, VT, N0->getOperand(0), in visitRotate()
9895 return DAG.getNode(ISD::AND, DL, VT, N00, C); in visitSHL()
9911 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitSHL()
9912 return DAG.getNode(ISD::SHL, DL, VT, N0, NewOp1); in visitSHL()
9935 SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1)); in visitSHL()
9936 return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Sum); in visitSHL()
9978 SDValue Ext = DAG.getNode(N0.getOpcode(), DL, VT, N0Op0.getOperand(0)); in visitSHL()
9980 Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, Sum, N1); in visitSHL()
9981 return DAG.getNode(ISD::SHL, DL, VT, Ext, Sum); in visitSHL()
10004 NewSHL = DAG.getNode(ISD::SHL, DL, N0Op0.getValueType(), N0Op0, NewSHL); in visitSHL()
10005 AddToWorklist(NewSHL.getNode()); in visitSHL()
10006 return DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N0), VT, NewSHL); in visitSHL()
10026 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01); in visitSHL()
10027 return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10033 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1); in visitSHL()
10034 return DAG.getNode(N0.getOpcode(), DL, VT, N0.getOperand(0), Diff); in visitSHL()
10049 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1); in visitSHL()
10051 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N01); in visitSHL()
10052 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, Diff); in visitSHL()
10053 SDValue Shift = DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10054 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSHL()
10060 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01); in visitSHL()
10062 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N1); in visitSHL()
10063 SDValue Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10064 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSHL()
10073 SDValue HiBitsMask = DAG.getNode(ISD::SHL, DL, VT, AllBits, N1); in visitSHL()
10074 return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), HiBitsMask); in visitSHL()
10086 SDValue Shl0 = DAG.getNode(ISD::SHL, SDLoc(N0), VT, N0.getOperand(0), N1); in visitSHL()
10087 AddToWorklist(Shl0.getNode()); in visitSHL()
10092 return DAG.getNode(N0.getOpcode(), DL, VT, Shl0, Shl1, Flags); in visitSHL()
10110 SDValue ExtX = DAG.getNode(N0.getOpcode(), DL, VT, Add.getOperand(0)); in visitSHL()
10111 SDValue ShlX = DAG.getNode(ISD::SHL, DL, VT, ExtX, N1); in visitSHL()
10112 return DAG.getNode(ISD::ADD, DL, VT, ShlX, ShlC); in visitSHL()
10122 return DAG.getNode(ISD::MUL, DL, VT, N0.getOperand(0), Shl); in visitSHL()
10141 DAG.getZExtOrTrunc(DAG.getNode(ISD::AND, DL, ShiftVT, Y, NegY), DL, VT); in visitSHL()
10142 return DAG.getNode(ISD::MUL, DL, VT, And, N0); in visitSHL()
10158 ISD::isConstantSplatVector(N1.getNode(), ShlVal)) { in visitSHL()
10278 DAG.getNode(MulhOpcode, DL, NarrowVT, LeftOp.getOperand(0), MulhRightOp); in combineShiftToMULH()
10300 return DAG.getNode(N0.getOpcode(), DL, VT, OldLHS.getOperand(0), in foldBitOrderCrossLogicOp()
10305 SDValue NewBitReorder = DAG.getNode(Opcode, DL, VT, OldRHS); in foldBitOrderCrossLogicOp()
10306 return DAG.getNode(N0.getOpcode(), DL, VT, OldLHS.getOperand(0), in foldBitOrderCrossLogicOp()
10311 SDValue NewBitReorder = DAG.getNode(Opcode, DL, VT, OldLHS); in foldBitOrderCrossLogicOp()
10312 return DAG.getNode(N0.getOpcode(), DL, VT, NewBitReorder, in foldBitOrderCrossLogicOp()
10377 return DAG.getNode(ISD::SRA, DL, VT, N0.getOperand(0), ShiftValue); in visitSRA()
10409 SDValue Shift = DAG.getNode(ISD::SRL, DL, VT, in visitSRA()
10411 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, in visitSRA()
10413 return DAG.getNode(ISD::SIGN_EXTEND, DL, in visitSRA()
10454 Add = DAG.getNode(ISD::ADD, DL, TruncVT, Trunc, ShiftC); in visitSRA()
10456 Add = DAG.getNode(ISD::SUB, DL, TruncVT, ShiftC, Trunc); in visitSRA()
10466 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitSRA()
10467 return DAG.getNode(ISD::SRA, DL, VT, N0, NewOp1); in visitSRA()
10486 Amt = DAG.getNode(ISD::ADD, DL, LargeShiftVT, Amt, in visitSRA()
10489 DAG.getNode(ISD::SRA, DL, LargeVT, N0Op0.getOperand(0), Amt); in visitSRA()
10490 return DAG.getNode(ISD::TRUNCATE, DL, VT, SRA); in visitSRA()
10501 return DAG.getNode(ISD::SRL, DL, VT, N0, N1); in visitSRA()
10568 SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1)); in visitSRL()
10569 return DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Sum); in visitSRL()
10589 SDValue NewShift = DAG.getNode(ISD::SRL, DL, InnerShiftVT, in visitSRL()
10591 return DAG.getNode(ISD::TRUNCATE, DL, VT, NewShift); in visitSRL()
10598 SDValue NewShift = DAG.getNode(ISD::SRL, DL, InnerShiftVT, in visitSRL()
10603 SDValue And = DAG.getNode(ISD::AND, DL, InnerShiftVT, NewShift, Mask); in visitSRL()
10604 return DAG.getNode(ISD::TRUNCATE, DL, VT, And); in visitSRL()
10625 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1); in visitSRL()
10627 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, N01); in visitSRL()
10628 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, Diff); in visitSRL()
10629 SDValue Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSRL()
10630 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSRL()
10636 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01); in visitSRL()
10638 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, N1); in visitSRL()
10639 SDValue Shift = DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Diff); in visitSRL()
10640 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSRL()
10657 DAG.getNode(ISD::SRL, DL0, SmallVT, N0.getOperand(0), in visitSRL()
10659 AddToWorklist(SmallShift.getNode()); in visitSRL()
10661 return DAG.getNode(ISD::AND, DL, VT, in visitSRL()
10662 DAG.getNode(ISD::ANY_EXTEND, DL, VT, SmallShift), in visitSRL()
10671 return DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), N1); in visitSRL()
10701 Op = DAG.getNode(ISD::SRL, DL, VT, Op, in visitSRL()
10703 AddToWorklist(Op.getNode()); in visitSRL()
10705 return DAG.getNode(ISD::XOR, DL, VT, Op, DAG.getConstant(1, DL, VT)); in visitSRL()
10712 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitSRL()
10713 return DAG.getNode(ISD::SRL, DL, VT, N0, NewOp1); in visitSRL()
10800 return DAG.getNode(N->getOpcode(), DL, VT, N0, N1, in visitFunnelShift()
10813 return DAG.getNode( in visitFunnelShift()
10817 return DAG.getNode( in visitFunnelShift()
10846 AddToWorklist(NewPtr.getNode()); in visitFunnelShift()
10868 return DAG.getNode(ISD::SRL, DL, VT, N1, N2); in visitFunnelShift()
10870 return DAG.getNode(ISD::SHL, DL, VT, N0, N2); in visitFunnelShift()
10880 return DAG.getNode(RotOpc, DL, VT, N0, N2); in visitFunnelShift()
10908 return DAG.getNode(ISD::SHL, DL, VT, N0, N1); in visitSHLSAT()
10914 return DAG.getNode(ISD::SHL, DL, VT, N0, N1); in visitSHLSAT()
10928 N = N->getOperand(0).getNode(); in foldABSToABD()
10953 SDValue ABD = DAG.getNode(ISD::ABDS, DL, VT, Op0, Op1); in foldABSToABD()
10974 SDValue ABD = DAG.getNode(ABDOpcode, DL, MaxVT, in foldABSToABD()
10975 DAG.getNode(ISD::TRUNCATE, DL, MaxVT, Op0), in foldABSToABD()
10976 DAG.getNode(ISD::TRUNCATE, DL, MaxVT, Op1)); in foldABSToABD()
10977 ABD = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, ABD); in foldABSToABD()
10984 SDValue ABD = DAG.getNode(ABDOpcode, DL, VT, Op0, Op1); in foldABSToABD()
11016 return DAG.getNode( in visitABS()
11018 DAG.getNode(ISD::ABS, DL, ExtVT, in visitABS()
11019 DAG.getNode(ISD::TRUNCATE, DL, ExtVT, N0.getOperand(0)))); in visitABS()
11043 SDValue BSwap = DAG.getNode(ISD::BSWAP, DL, VT, N0.getOperand(0)); in visitBSWAP()
11044 return DAG.getNode(ISD::BITREVERSE, DL, VT, BSwap); in visitBSWAP()
11060 Res = DAG.getNode(ISD::SHL, DL, VT, Res, in visitBSWAP()
11063 Res = DAG.getNode(ISD::BSWAP, DL, HalfVT, Res); in visitBSWAP()
11077 SDValue NewSwap = DAG.getNode(ISD::BSWAP, DL, VT, N0.getOperand(0)); in visitBSWAP()
11079 return DAG.getNode(InverseShift, DL, VT, NewSwap, N0.getOperand(1)); in visitBSWAP()
11107 return DAG.getNode(ISD::SHL, DL, VT, X, Y); in visitBITREVERSE()
11112 return DAG.getNode(ISD::SRL, DL, VT, X, Y); in visitBITREVERSE()
11129 return DAG.getNode(ISD::CTLZ_ZERO_UNDEF, DL, VT, N0); in visitCTLZ()
11158 return DAG.getNode(ISD::CTTZ_ZERO_UNDEF, DL, VT, N0); in visitCTTZ()
11196 return DAG.getNode(ISD::CTPOP, DL, VT, N0.getOperand(0)); in visitCTPOP()
11211 SDValue PopCnt = DAG.getNode(ISD::CTPOP, DL, HalfVT, in visitCTPOP()
11254 return DAG.getNode(IEEEOpcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11258 return DAG.getNode(Opcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11269 return DAG.getNode(IEEEOpcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11273 return DAG.getNode(Opcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11314 return DAG.getNode(ISD::FNEG, DL, VT, Combined); in combineMinNumMaxNum()
11346 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, X, ShAmtC); in foldSelectOfConstantsUsingSra()
11347 return DAG.getNode(ISD::OR, DL, VT, Sra, C1); in foldSelectOfConstantsUsingSra()
11352 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, X, ShAmtC); in foldSelectOfConstantsUsingSra()
11353 return DAG.getNode(ISD::AND, DL, VT, Sra, C1); in foldSelectOfConstantsUsingSra()
11410 DAG.getNode(ISD::XOR, DL, CondVT, Cond, DAG.getConstant(1, DL, CondVT)); in foldSelectOfConstants()
11460 return DAG.getNode(ISD::ADD, DL, VT, Cond, N2); in foldSelectOfConstants()
11466 return DAG.getNode(ISD::ADD, DL, VT, Cond, N2); in foldSelectOfConstants()
11474 return DAG.getNode(ISD::SHL, DL, VT, Cond, ShAmtC); in foldSelectOfConstants()
11480 return DAG.getNode(ISD::OR, DL, VT, Cond, N2); in foldSelectOfConstants()
11487 return DAG.getNode(ISD::OR, DL, VT, NotCond, N1); in foldSelectOfConstants()
11514 return matcher.getNode(ISD::OR, DL, VT, Cond, DAG.getFreeze(F)); in foldBoolSelectToLogic()
11519 return matcher.getNode(ISD::AND, DL, VT, Cond, DAG.getFreeze(T)); in foldBoolSelectToLogic()
11524 matcher.getNode(ISD::XOR, DL, VT, Cond, DAG.getAllOnesConstant(DL, VT)); in foldBoolSelectToLogic()
11525 return matcher.getNode(ISD::OR, DL, VT, NotCond, DAG.getFreeze(T)); in foldBoolSelectToLogic()
11531 matcher.getNode(ISD::XOR, DL, VT, Cond, DAG.getAllOnesConstant(DL, VT)); in foldBoolSelectToLogic()
11532 return matcher.getNode(ISD::AND, DL, VT, NotCond, DAG.getFreeze(F)); in foldBoolSelectToLogic()
11564 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Cond0, ShiftAmt); in foldVSelectToSignBitSplatMask()
11565 return DAG.getNode(ISD::AND, DL, VT, Sra, DAG.getFreeze(N1)); in foldVSelectToSignBitSplatMask()
11572 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Cond0, ShiftAmt); in foldVSelectToSignBitSplatMask()
11573 return DAG.getNode(ISD::OR, DL, VT, Sra, DAG.getFreeze(N2)); in foldVSelectToSignBitSplatMask()
11583 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Cond0, ShiftAmt); in foldVSelectToSignBitSplatMask()
11585 return DAG.getNode(ISD::AND, DL, VT, Not, DAG.getFreeze(N2)); in foldVSelectToSignBitSplatMask()
11641 DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Cond1, N1, N2, Flags); in visitSELECT()
11643 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Cond0, in visitSELECT()
11647 recursivelyDeleteUnusedNodes(InnerSelect.getNode()); in visitSELECT()
11653 SDValue InnerSelect = DAG.getNode(ISD::SELECT, DL, N1.getValueType(), in visitSELECT()
11656 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Cond0, N1, in visitSELECT()
11660 recursivelyDeleteUnusedNodes(InnerSelect.getNode()); in visitSELECT()
11671 SDValue And = DAG.getNode(ISD::AND, DL, N0.getValueType(), N0, N1_0); in visitSELECT()
11672 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), And, N1_1, in visitSELECT()
11677 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Combined, N1_1, in visitSELECT()
11690 SDValue Or = DAG.getNode(ISD::OR, DL, N0.getValueType(), N0, N2_0); in visitSELECT()
11691 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Or, N1, in visitSELECT()
11696 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Combined, N1, in visitSELECT()
11740 SDValue UAO = DAG.getNode(ISD::UADDO, DL, VTs, Cond0, N2.getOperand(1)); in visitSELECT()
11751 SDValue SelectNode = DAG.getNode(ISD::SELECT_CC, DL, VT, Cond0, Cond1, N1, in visitSELECT()
11801 else if (Cond->getOperand(i).getNode() != BottomHalf) in ConvertSelectToConcatVector()
11813 else if (Cond->getOperand(i).getNode() != TopHalf) in ConvertSelectToConcatVector()
11820 return DAG.getNode( in ConvertSelectToConcatVector()
11841 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
11851 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
11857 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
11906 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitVPSCATTER()
11936 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMSCATTER()
11965 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMSTORE()
11975 ISD::isConstantSplatVectorAllOnes(Mask.getNode())) && in visitMSTORE()
11987 if (ISD::isConstantSplatVectorAllOnes(Mask.getNode()) && MST->isUnindexed() && in visitMSTORE()
12063 if (ISD::isConstantSplatVector(Mask.getNode(), SplatVal)) in visitVECTOR_COMPRESS()
12070 if (ISD::isBuildVectorOfConstantSDNodes(Mask.getNode())) { in visitVECTOR_COMPRESS()
12082 SDValue VecI = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, Vec, in visitVECTOR_COMPRESS()
12091 ? DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, Passthru, in visitVECTOR_COMPRESS()
12142 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMGATHER()
12168 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMLOAD()
12173 if (ISD::isConstantSplatVectorAllOnes(Mask.getNode()) && MLD->isUnindexed() && in visitMLOAD()
12214 !ISD::isBuildVectorOfConstantSDNodes(N1.getNode()) || in foldVSelectOfConstants()
12215 !ISD::isBuildVectorOfConstantSDNodes(N2.getNode())) in foldVSelectOfConstants()
12250 SDValue ExtendedCond = DAG.getNode(ExtendOpcode, DL, VT, Cond); in foldVSelectOfConstants()
12251 return DAG.getNode(ISD::ADD, DL, VT, ExtendedCond, N2); in foldVSelectOfConstants()
12256 if (ISD::isConstantSplatVector(N1.getNode(), Pow2C) && Pow2C.isPowerOf2() && in foldVSelectOfConstants()
12260 return DAG.getNode(ISD::SHL, DL, VT, ZextCond, ShAmtC); in foldVSelectOfConstants()
12311 return DAG.getNode( in visitVSELECT()
12313 DAG.getNode(ISD::AND, DL, N0.getValueType(), N1.getOperand(1), N0)); in visitVSELECT()
12325 bool RHSIsAllZeros = ISD::isBuildVectorAllZeros(RHS.getNode()); in visitVSELECT()
12328 (ISD::isBuildVectorAllOnes(RHS.getNode()) && CC == ISD::SETGT)) && in visitVSELECT()
12330 isAbs = ISD::isBuildVectorAllZeros(N2.getOperand(0).getNode()); in visitVSELECT()
12333 isAbs = ISD::isBuildVectorAllZeros(N1.getOperand(0).getNode()); in visitVSELECT()
12337 return DAG.getNode(ISD::ABS, DL, VT, LHS); in visitVSELECT()
12339 SDValue Shift = DAG.getNode( in visitVSELECT()
12342 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, LHS, Shift); in visitVSELECT()
12343 AddToWorklist(Shift.getNode()); in visitVSELECT()
12344 AddToWorklist(Add.getNode()); in visitVSELECT()
12345 return DAG.getNode(ISD::XOR, DL, VT, Add, Shift); in visitVSELECT()
12387 SDValue WideLHS = DAG.getNode(ExtOpcode, DL, WideVT, LHS); in visitVSELECT()
12388 SDValue WideRHS = DAG.getNode(ExtOpcode, DL, WideVT, RHS); in visitVSELECT()
12412 return DAG.getNode(ABDOpc, DL, VT, LHS, RHS); in visitVSELECT()
12419 return DAG.getNode(ABDOpc, DL, VT, LHS, RHS); in visitVSELECT()
12433 if (ISD::isConstantSplatVectorAllOnes(N1.getNode())) { in visitVSELECT()
12436 } else if (ISD::isConstantSplatVectorAllOnes(N2.getNode())) { in visitVSELECT()
12455 return DAG.getNode(ISD::UADDSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12469 return DAG.getNode(ISD::UADDSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12480 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) { in visitVSELECT()
12483 } else if (ISD::isConstantSplatVectorAllZeros(N2.getNode())) { in visitVSELECT()
12512 return DAG.getNode(ISD::USUBSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12530 return DAG.getNode(ISD::USUBSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12540 ISD::isConstantSplatVector(OpRHS.getNode(), SplatValue) && in visitVSELECT()
12541 ISD::isConstantSplatVectorAllZeros(CondRHS.getNode()) && in visitVSELECT()
12546 return DAG.getNode(ISD::USUBSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12559 if (ISD::isConstantSplatVectorAllOnes(N0.getNode())) in visitVSELECT()
12562 if (ISD::isConstantSplatVectorAllZeros(N0.getNode())) in visitVSELECT()
12570 ISD::isBuildVectorOfConstantSDNodes(N0.getNode())) { in visitVSELECT()
12609 AddToWorklist(SCC.getNode()); in visitSELECT_CC()
12613 if (auto *SCCC = dyn_cast<ConstantSDNode>(SCC.getNode())) in visitSELECT_CC()
12624 DAG.getNode(ISD::SELECT_CC, DL, N2.getValueType(), SCC.getOperand(0), in visitSELECT_CC()
12658 if (NewSetCC.getNode() == N) in visitSETCC()
12748 DAG.getNode(NewShiftOpc, DL, OpVT, ShiftOrRotate.getOperand(0), in visitSETCC()
12760 DAG.getNode(ISD::AND, DL, OpVT, ShiftOrRotate.getOperand(0), in visitSETCC()
12782 return DAG.getNode(ISD::SETCC, SDLoc(N), N->getVTList(), LHS, RHS, Cond); in visitSETCCCARRY()
12856 SDValue Ext1 = DAG.getNode(Opcode, DL, VT, Op1); in tryToFoldExtendSelectLoad()
12857 SDValue Ext2 = DAG.getNode(Opcode, DL, VT, Op2); in tryToFoldExtendSelectLoad()
12881 return DAG.getNode(Opcode, DL, VT, N0); in tryToFoldExtendOfConstant()
12904 DAG.getNode(FoldOpc, DL, VT, Op1), in tryToFoldExtendOfConstant()
12905 DAG.getNode(FoldOpc, DL, VT, Op2)); in tryToFoldExtendOfConstant()
12914 ISD::isBuildVectorOfConstantSDNodes(N0.getNode()))) in tryToFoldExtendOfConstant()
13022 Ops.push_back(DAG.getNode(ExtType, DL, ExtLoad->getValueType(0), SOp)); in ExtendSetCCUses()
13026 CombineTo(SetCC, DAG.getNode(ISD::SETCC, DL, SetCC->getValueType(0), Ops)); in ExtendSetCCUses()
13112 SDValue NewChain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chains); in CombineExtLoad()
13113 SDValue NewValue = DAG.getNode(ISD::CONCAT_VECTORS, DL, DstVT, Loads); in CombineExtLoad()
13116 AddToWorklist(NewChain.getNode()); in CombineExtLoad()
13123 DAG.getNode(ISD::TRUNCATE, SDLoc(N0), N0.getValueType(), NewValue); in CombineExtLoad()
13125 CombineTo(N0.getNode(), Trunc, NewChain); in CombineExtLoad()
13171 if (!ExtendUsesToFormExtLoad(VT, N1.getNode(), N1.getOperand(0), in CombineZExtLogicopShiftLoad()
13181 SDValue Shift = DAG.getNode(N1.getOpcode(), DL1, VT, ExtLoad, in CombineZExtLogicopShiftLoad()
13186 SDValue And = DAG.getNode(N0.getOpcode(), DL0, VT, Shift, in CombineZExtLogicopShiftLoad()
13194 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(Load), in CombineZExtLogicopShiftLoad()
13200 recursivelyDeleteUnusedNodes(N0.getNode()); in CombineZExtLogicopShiftLoad()
13241 CastA = DAG.getNode(CastOpcode, DL, VT, A, Cast->getOperand(1)); in matchVSelectOpSizesWithSetCC()
13242 CastB = DAG.getNode(CastOpcode, DL, VT, B, Cast->getOperand(1)); in matchVSelectOpSizesWithSetCC()
13244 CastA = DAG.getNode(CastOpcode, DL, VT, A); in matchVSelectOpSizesWithSetCC()
13245 CastB = DAG.getNode(CastOpcode, DL, VT, B); in matchVSelectOpSizesWithSetCC()
13247 return DAG.getNode(ISD::VSELECT, DL, VT, SetCC, CastA, CastB); in matchVSelectOpSizesWithSetCC()
13256 SDNode *N0Node = N0.getNode(); in tryToFoldExtOfExtload()
13290 if (!ISD::isNON_EXTLoad(N0.getNode()) || !ISD::isUNINDEXEDLoad(N0.getNode())) in tryToFoldExtOfLoad()
13339 DAG.getNode(ISD::TRUNCATE, SDLoc(N0), N0.getValueType(), ExtLoad); in tryToFoldExtOfLoad()
13364 SDValue PassThru = DAG.getNode(ExtOpc, dl, VT, Ld->getPassThru()); in tryToFoldExtOfMaskedLoad()
13369 DAG.ReplaceAllUsesOfValueWith(SDValue(Ld, 1), SDValue(NewLoad.getNode(), 1)); in tryToFoldExtOfMaskedLoad()
13398 DAG.getNode(ISD::TRUNCATE, SDLoc(ALoad), OrigVT, SDValue(NewALoad, 0))); in tryToFoldExtOfAtomicLoad()
13434 return DAG.getNode(ShiftOpcode, DL, VT, NotX, ShiftAmount); in foldExtendedSignBitTest()
13499 if (!(ISD::isNON_EXTLoad(V.getNode()) && in foldSextSetcc()
13500 ISD::isUNINDEXEDLoad(V.getNode()) && in foldSextSetcc()
13511 if (UI.getUse().getResNo() != 0 || User == N0.getNode()) in foldSextSetcc()
13523 SDValue Ext0 = DAG.getNode(ExtOpcode, DL, VT, N00); in foldSextSetcc()
13524 SDValue Ext1 = DAG.getNode(ExtOpcode, DL, VT, N01); in foldSextSetcc()
13584 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, N0.getOperand(0)); in visitSIGN_EXTEND()
13590 return DAG.getNode(ISD::SIGN_EXTEND_VECTOR_INREG, SDLoc(N), VT, in visitSIGN_EXTEND()
13599 SDValue T = DAG.getNode(ISD::TRUNCATE, DL, ExtVT, N00); in visitSIGN_EXTEND()
13600 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, T); in visitSIGN_EXTEND()
13607 if (SDValue NarrowLoad = reduceLoadWidth(N0.getNode())) { in visitSIGN_EXTEND()
13608 SDNode *oye = N0.getOperand(0).getNode(); in visitSIGN_EXTEND()
13609 if (NarrowLoad.getNode() != N0.getNode()) { in visitSIGN_EXTEND()
13610 CombineTo(N0.getNode(), NarrowLoad); in visitSIGN_EXTEND()
13634 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, Op); in visitSIGN_EXTEND()
13639 return DAG.getNode(ISD::TRUNCATE, DL, VT, Op); in visitSIGN_EXTEND()
13646 Op = DAG.getNode(ISD::ANY_EXTEND, SDLoc(N0), VT, Op); in visitSIGN_EXTEND()
13648 Op = DAG.getNode(ISD::TRUNCATE, SDLoc(N0), VT, Op); in visitSIGN_EXTEND()
13649 return DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, VT, Op, in visitSIGN_EXTEND()
13691 bool DoXform = ExtendUsesToFormExtLoad(VT, N0.getNode(), N0.getOperand(0), in visitSIGN_EXTEND()
13699 SDValue And = DAG.getNode(N0.getOpcode(), DL, VT, in visitSIGN_EXTEND()
13708 DAG.getNode(ISD::TRUNCATE, DL, N0.getValueType(), And); in visitSIGN_EXTEND()
13709 CombineTo(N0.getNode(), TruncAnd); in visitSIGN_EXTEND()
13714 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(LN00), in visitSIGN_EXTEND()
13735 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0, Flags); in visitSIGN_EXTEND()
13757 return DAG.getNode(ISD::ADD, DL, VT, Zext, DAG.getAllOnesConstant(DL, VT)); in visitSIGN_EXTEND()
13766 if (SDValue NewXor = visitXOR(N0.getNode())) { in visitSIGN_EXTEND()
13769 if (NewXor.getNode() == N0.getNode()) { in visitSIGN_EXTEND()
13776 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, NewXor); in visitSIGN_EXTEND()
13779 SDValue Zext = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); in visitSIGN_EXTEND()
13780 return DAG.getNode(ISD::ADD, DL, VT, Zext, DAG.getAllOnesConstant(DL, VT)); in visitSIGN_EXTEND()
13809 return DAG.getNode(ISD::CTPOP, DL, VT, NewZext); in widenCtPop()
13834 DAG.getNode(ISD::SIGN_EXTEND, SDLoc(Abs), LegalVT, Abs.getOperand(0)); in widenAbs()
13835 SDValue NewAbs = DAG.getNode(ISD::ABS, SDLoc(Abs), LegalVT, SExt); in widenAbs()
13861 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0), Flags); in visitZERO_EXTEND()
13868 return DAG.getNode(ISD::ZERO_EXTEND_VECTOR_INREG, DL, VT, N0.getOperand(0)); in visitZERO_EXTEND()
13885 DAG.salvageDebugInfo(*N0.getNode()); in visitZERO_EXTEND()
13895 if (SDValue NarrowLoad = reduceLoadWidth(N0.getNode())) { in visitZERO_EXTEND()
13896 SDNode *oye = N0.getOperand(0).getNode(); in visitZERO_EXTEND()
13897 if (NarrowLoad.getNode() != N0.getNode()) { in visitZERO_EXTEND()
13898 CombineTo(N0.getNode(), NarrowLoad); in visitZERO_EXTEND()
13925 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, Op); in visitZERO_EXTEND()
13930 return DAG.getNode(ISD::TRUNCATE, DL, VT, Op); in visitZERO_EXTEND()
13941 AddToWorklist(Op.getNode()); in visitZERO_EXTEND()
13951 AddToWorklist(Op.getNode()); in visitZERO_EXTEND()
13970 return DAG.getNode(ISD::AND, DL, VT, in visitZERO_EXTEND()
14019 DoXform = ExtendUsesToFormExtLoad(VT, N0.getNode(), N0.getOperand(0), in visitZERO_EXTEND()
14027 SDValue And = DAG.getNode(N0.getOpcode(), DL, VT, in visitZERO_EXTEND()
14036 DAG.getNode(ISD::TRUNCATE, DL, N0.getValueType(), And); in visitZERO_EXTEND()
14037 CombineTo(N0.getNode(), TruncAnd); in visitZERO_EXTEND()
14042 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(LN00), in visitZERO_EXTEND()
14082 SDValue VSetCC = DAG.getNode(ISD::SETCC, DL, VT, N0.getOperand(0), in visitZERO_EXTEND()
14092 DAG.getNode(ISD::SETCC, DL, MatchingVectorType, N0.getOperand(0), in visitZERO_EXTEND()
14106 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, SCC); in visitZERO_EXTEND()
14137 ShAmt = DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::i32, ShAmt); in visitZERO_EXTEND()
14139 return DAG.getNode(N0.getOpcode(), DL, VT, in visitZERO_EXTEND()
14140 DAG.getNode(ISD::ZERO_EXTEND, DL, VT, ShVal), ShAmt); in visitZERO_EXTEND()
14187 return DAG.getNode(N0.getOpcode(), DL, VT, N0.getOperand(0), Flags); in visitANY_EXTEND()
14196 return DAG.getNode(N0.getOpcode(), DL, VT, N0.getOperand(0)); in visitANY_EXTEND()
14201 if (SDValue NarrowLoad = reduceLoadWidth(N0.getNode())) { in visitANY_EXTEND()
14202 SDNode *oye = N0.getOperand(0).getNode(); in visitANY_EXTEND()
14203 if (NarrowLoad.getNode() != N0.getNode()) { in visitANY_EXTEND()
14204 CombineTo(N0.getNode(), NarrowLoad); in visitANY_EXTEND()
14223 SDValue Y = DAG.getNode(ISD::ANY_EXTEND, DL, VT, N0.getOperand(1)); in visitANY_EXTEND()
14225 return DAG.getNode(ISD::AND, DL, VT, X, Y); in visitANY_EXTEND()
14237 } else if (ISD::isNON_EXTLoad(N0.getNode()) && in visitANY_EXTEND()
14238 ISD::isUNINDEXEDLoad(N0.getNode()) && in visitANY_EXTEND()
14259 DAG.getNode(ISD::TRUNCATE, SDLoc(N0), N0.getValueType(), ExtLoad); in visitANY_EXTEND()
14269 if (N0.getOpcode() == ISD::LOAD && !ISD::isNON_EXTLoad(N0.getNode()) && in visitANY_EXTEND()
14270 ISD::isUNINDEXEDLoad(N0.getNode()) && N0.hasOneUse()) { in visitANY_EXTEND()
14358 SDValue NewAssert = DAG.getNode(Opcode, DL, BigA.getValueType(), in visitAssertExt()
14360 return DAG.getNode(ISD::TRUNCATE, DL, N->getValueType(0), NewAssert); in visitAssertExt()
14373 SDValue NewAssert = DAG.getNode(Opcode, DL, BigA.getValueType(), in visitAssertExt()
14375 return DAG.getNode(ISD::TRUNCATE, DL, N->getValueType(0), NewAssert); in visitAssertExt()
14412 return DAG.getNode(N0.getOpcode(), DL, N0.getValueType(), LHS, RHS); in visitAssertAlign()
14624 AddToWorklist(NewPtr.getNode()); in reduceLoadWidth()
14652 Result = DAG.getNode(ISD::SHL, DL, VT, Result, in reduceLoadWidth()
14662 Result = DAG.getNode(ISD::SHL, DL, VT, Result, ShiftC); in reduceLoadWidth()
14684 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, N0, N1); in visitSIGN_EXTEND_INREG()
14693 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, N0.getOperand(0), in visitSIGN_EXTEND_INREG()
14706 return DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), VT, N00); in visitSIGN_EXTEND_INREG()
14724 return DAG.getNode(ISD::SIGN_EXTEND_VECTOR_INREG, SDLoc(N), VT, N00); in visitSIGN_EXTEND_INREG()
14733 return DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), VT, N00); in visitSIGN_EXTEND_INREG()
14760 return DAG.getNode(ISD::SRA, SDLoc(N), VT, N0.getOperand(0), in visitSIGN_EXTEND_INREG()
14769 if (ISD::isEXTLoad(N0.getNode()) && in visitSIGN_EXTEND_INREG()
14770 ISD::isUNINDEXEDLoad(N0.getNode()) && in visitSIGN_EXTEND_INREG()
14781 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14782 AddToWorklist(ExtLoad.getNode()); in visitSIGN_EXTEND_INREG()
14787 if (ISD::isZEXTLoad(N0.getNode()) && ISD::isUNINDEXEDLoad(N0.getNode()) && in visitSIGN_EXTEND_INREG()
14798 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14813 CombineTo(N0.getNode(), ExtMaskedLoad, ExtMaskedLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14831 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14832 AddToWorklist(ExtLoad.getNode()); in visitSIGN_EXTEND_INREG()
14839 if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0), in visitSIGN_EXTEND_INREG()
14841 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, BSwap, N1); in visitSIGN_EXTEND_INREG()
14858 DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), InnerExtVT, Extendee); in visitSIGN_EXTEND_INREG()
14859 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), VT, SignExtExtendee, in visitSIGN_EXTEND_INREG()
14896 return DAG.getNode(Opcode, DL, VT, Src); in foldExtendVectorInregToExtendOfSubvector()
14938 return DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
14950 return DAG.getNode(N0.getOpcode(), DL, VT, N0.getOperand(0)); in visitTRUNCATE()
14953 return DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
14967 SDValue TrX = DAG.getNode(ISD::TRUNCATE, DL, VT, X); in visitTRUNCATE()
14968 return DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, VT, TrX, ExtVal); in visitTRUNCATE()
15003 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, TrTy, in visitTRUNCATE()
15015 SDValue TruncOp0 = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(1)); in visitTRUNCATE()
15016 SDValue TruncOp1 = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(2)); in visitTRUNCATE()
15017 return DAG.getNode(ISD::SELECT, DL, VT, Cond, TruncOp0, TruncOp1); in visitTRUNCATE()
15030 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
15033 AddToWorklist(Amt.getNode()); in visitTRUNCATE()
15035 return DAG.getNode(ISD::SHL, DL, VT, Trunc, Amt); in visitTRUNCATE()
15039 if (SDValue V = foldSubToUSubSat(VT, N0.getNode(), DL)) in visitTRUNCATE()
15054 SDValue TruncOp = DAG.getNode(ISD::TRUNCATE, DL, SVT, Op); in visitTRUNCATE()
15066 VT, DL, DAG.getNode(ISD::TRUNCATE, DL, SVT, N0->getOperand(0))); in visitTRUNCATE()
15107 if (N0.hasOneUse() && ISD::isUNINDEXEDLoad(N0.getNode())) { in visitTRUNCATE()
15147 assert(V.getNode() && "The single defined operand is empty!"); in visitTRUNCATE()
15154 SDValue NV = DAG.getNode(ISD::TRUNCATE, SDLoc(V), VTs[i], V); in visitTRUNCATE()
15155 AddToWorklist(NV.getNode()); in visitTRUNCATE()
15158 return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, Opnds); in visitTRUNCATE()
15173 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, VecSrc, in visitTRUNCATE()
15193 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N0->getOperand(0)), VT, in visitTRUNCATE()
15219 SDValue NarrowL = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
15220 SDValue NarrowR = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(1)); in visitTRUNCATE()
15221 return DAG.getNode(N0.getOpcode(), DL, VT, NarrowL, NarrowR); in visitTRUNCATE()
15235 SDValue X = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
15236 SDValue Y = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(1)); in visitTRUNCATE()
15238 return DAG.getNode(N0.getOpcode(), DL, VTs, X, Y, N0.getOperand(2)); in visitTRUNCATE()
15262 return Elt.getNode(); in getBuildPairElt()
15263 return Elt.getOperand(Elt.getResNo()).getNode(); in getBuildPairElt()
15360 SDValue CastOp0 = DAG.getNode(ISD::BITCAST, SDLoc(N), VT, LogicOp0); in foldBitcastedFPLogic()
15361 SDValue FPOp = DAG.getNode(FPOpcode, SDLoc(N), VT, CastOp0); in foldBitcastedFPLogic()
15364 return DAG.getNode(ISD::FNEG, SDLoc(N), VT, FPOp); in foldBitcastedFPLogic()
15390 return ConstantFoldBITCASTofBUILD_VECTOR(N0.getNode(), in visitBITCAST()
15404 if (C.getNode() != N) in visitBITCAST()
15420 (ISD::isBuildVectorOfConstantSDNodes(V.getNode()) && in visitBITCAST()
15424 return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, in visitBITCAST()
15431 if (ISD::isNormalLoad(N0.getNode()) && N0.hasOneUse() && in visitBITCAST()
15474 AddToWorklist(NewConv.getNode()); in visitBITCAST()
15484 AddToWorklist(FlipBit.getNode()); in visitBITCAST()
15488 DAG.getNode(ISD::EXTRACT_ELEMENT, SDLoc(NewConv), MVT::i64, NewConv, in visitBITCAST()
15491 AddToWorklist(Hi.getNode()); in visitBITCAST()
15492 FlipBit = DAG.getNode(ISD::AND, SDLoc(N0), MVT::i64, Hi, SignBit); in visitBITCAST()
15493 AddToWorklist(FlipBit.getNode()); in visitBITCAST()
15496 DAG.getNode(ISD::BUILD_PAIR, SDLoc(N0), VT, FlipBit, FlipBit); in visitBITCAST()
15497 AddToWorklist(FlipBits.getNode()); in visitBITCAST()
15498 return DAG.getNode(ISD::XOR, DL, VT, NewConv, FlipBits); in visitBITCAST()
15502 return DAG.getNode(ISD::XOR, DL, VT, in visitBITCAST()
15505 return DAG.getNode(ISD::AND, DL, VT, in visitBITCAST()
15527 AddToWorklist(X.getNode()); in visitBITCAST()
15532 X = DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), VT, X); in visitBITCAST()
15533 AddToWorklist(X.getNode()); in visitBITCAST()
15538 X = DAG.getNode(ISD::SRL, DL, in visitBITCAST()
15542 AddToWorklist(X.getNode()); in visitBITCAST()
15543 X = DAG.getNode(ISD::TRUNCATE, SDLoc(X), VT, X); in visitBITCAST()
15544 AddToWorklist(X.getNode()); in visitBITCAST()
15550 AddToWorklist(Cst.getNode()); in visitBITCAST()
15552 AddToWorklist(X.getNode()); in visitBITCAST()
15553 SDValue XorResult = DAG.getNode(ISD::XOR, SDLoc(N0), VT, Cst, X); in visitBITCAST()
15554 AddToWorklist(XorResult.getNode()); in visitBITCAST()
15555 SDValue XorResult64 = DAG.getNode( in visitBITCAST()
15559 AddToWorklist(XorResult64.getNode()); in visitBITCAST()
15561 DAG.getNode(ISD::AND, SDLoc(XorResult64), MVT::i64, XorResult64, in visitBITCAST()
15563 AddToWorklist(FlipBit.getNode()); in visitBITCAST()
15565 DAG.getNode(ISD::BUILD_PAIR, SDLoc(N0), VT, FlipBit, FlipBit); in visitBITCAST()
15566 AddToWorklist(FlipBits.getNode()); in visitBITCAST()
15567 return DAG.getNode(ISD::XOR, SDLoc(N), VT, Cst, FlipBits); in visitBITCAST()
15570 X = DAG.getNode(ISD::AND, SDLoc(X), VT, in visitBITCAST()
15572 AddToWorklist(X.getNode()); in visitBITCAST()
15575 Cst = DAG.getNode(ISD::AND, SDLoc(Cst), VT, in visitBITCAST()
15577 AddToWorklist(Cst.getNode()); in visitBITCAST()
15579 return DAG.getNode(ISD::OR, SDLoc(N), VT, X, Cst); in visitBITCAST()
15585 if (SDValue CombineLD = CombineConsecutiveLoads(N0.getNode(), VT)) in visitBITCAST()
15679 if (llvm::ISD::isBuildVectorAllOnes(N0.getNode())) in visitFREEZE()
15681 if (llvm::ISD::isBuildVectorOfConstantSDNodes(N0.getNode())) { in visitFREEZE()
15734 DAG.UpdateNodeOperands(FrozenMaybePoisonOperand.getNode(), in visitFREEZE()
15763 R = DAG.getNode(N0.getOpcode(), SDLoc(N0), N0->getVTList(), Ops); in visitFREEZE()
15790 Op = DAG.getNode(ISD::TRUNCATE, SDLoc(BV), SrcEltVT, Op); in ConstantFoldBITCASTofBUILD_VECTOR()
15792 AddToWorklist(Ops.back().getNode()); in ConstantFoldBITCASTofBUILD_VECTOR()
15806 BV = ConstantFoldBITCASTofBUILD_VECTOR(BV, IntVT).getNode(); in ConstantFoldBITCASTofBUILD_VECTOR()
15814 SDNode *Tmp = ConstantFoldBITCASTofBUILD_VECTOR(BV, TmpVT).getNode(); in ConstantFoldBITCASTofBUILD_VECTOR()
15927 return matcher.getNode(PreferredFusedOpcode, SL, VT, N0.getOperand(0), in visitFADDForFMACombine()
15934 return matcher.getNode(PreferredFusedOpcode, SL, VT, N1.getOperand(0), in visitFADDForFMACombine()
15964 SDValue CDE = matcher.getNode(PreferredFusedOpcode, SL, VT, C, D, E); in visitFADDForFMACombine()
15983 return matcher.getNode( in visitFADDForFMACombine()
15985 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(0)), in visitFADDForFMACombine()
15986 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(1)), N1); in visitFADDForFMACombine()
15997 return matcher.getNode( in visitFADDForFMACombine()
15999 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(0)), in visitFADDForFMACombine()
16000 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(1)), N0); in visitFADDForFMACombine()
16010 return matcher.getNode( in visitFADDForFMACombine()
16012 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFADDForFMACombine()
16013 matcher.getNode(ISD::FP_EXTEND, SL, VT, U), in visitFADDForFMACombine()
16014 matcher.getNode(ISD::FP_EXTEND, SL, VT, V), Z)); in visitFADDForFMACombine()
16037 return matcher.getNode( in visitFADDForFMACombine()
16039 matcher.getNode(ISD::FP_EXTEND, SL, VT, X), in visitFADDForFMACombine()
16040 matcher.getNode(ISD::FP_EXTEND, SL, VT, Y), in visitFADDForFMACombine()
16041 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFADDForFMACombine()
16042 matcher.getNode(ISD::FP_EXTEND, SL, VT, U), in visitFADDForFMACombine()
16043 matcher.getNode(ISD::FP_EXTEND, SL, VT, V), Z)); in visitFADDForFMACombine()
16151 return matcher.getNode(PreferredFusedOpcode, SL, VT, XY.getOperand(0), in visitFSUBForFMACombine()
16153 matcher.getNode(ISD::FNEG, SL, VT, Z)); in visitFSUBForFMACombine()
16162 return matcher.getNode( in visitFSUBForFMACombine()
16164 matcher.getNode(ISD::FNEG, SL, VT, YZ.getOperand(0)), in visitFSUBForFMACombine()
16194 return matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFSUBForFMACombine()
16195 matcher.getNode(ISD::FNEG, SL, VT, N00), N01, in visitFSUBForFMACombine()
16196 matcher.getNode(ISD::FNEG, SL, VT, N1)); in visitFSUBForFMACombine()
16208 return matcher.getNode( in visitFSUBForFMACombine()
16210 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(0)), in visitFSUBForFMACombine()
16211 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(1)), in visitFSUBForFMACombine()
16212 matcher.getNode(ISD::FNEG, SL, VT, N1)); in visitFSUBForFMACombine()
16224 return matcher.getNode( in visitFSUBForFMACombine()
16226 matcher.getNode( in visitFSUBForFMACombine()
16228 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(0))), in visitFSUBForFMACombine()
16229 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(1)), N0); in visitFSUBForFMACombine()
16246 return matcher.getNode( in visitFSUBForFMACombine()
16248 matcher.getNode( in visitFSUBForFMACombine()
16250 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(0)), in visitFSUBForFMACombine()
16251 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(1)), in visitFSUBForFMACombine()
16270 return matcher.getNode( in visitFSUBForFMACombine()
16272 matcher.getNode( in visitFSUBForFMACombine()
16274 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(0)), in visitFSUBForFMACombine()
16275 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(1)), in visitFSUBForFMACombine()
16287 return isContractableFMUL(N) && isReassociable(N.getNode()); in visitFSUBForFMACombine()
16302 return matcher.getNode( in visitFSUBForFMACombine()
16304 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFSUBForFMACombine()
16307 matcher.getNode(ISD::FNEG, SL, VT, N1))); in visitFSUBForFMACombine()
16317 return matcher.getNode( in visitFSUBForFMACombine()
16319 matcher.getNode(ISD::FNEG, SL, VT, N1.getOperand(0)), in visitFSUBForFMACombine()
16321 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFSUBForFMACombine()
16322 matcher.getNode(ISD::FNEG, SL, VT, N20), N21, N0)); in visitFSUBForFMACombine()
16334 return matcher.getNode( in visitFSUBForFMACombine()
16336 matcher.getNode( in visitFSUBForFMACombine()
16338 matcher.getNode(ISD::FP_EXTEND, SL, VT, N020.getOperand(0)), in visitFSUBForFMACombine()
16339 matcher.getNode(ISD::FP_EXTEND, SL, VT, N020.getOperand(1)), in visitFSUBForFMACombine()
16340 matcher.getNode(ISD::FNEG, SL, VT, N1))); in visitFSUBForFMACombine()
16358 return matcher.getNode( in visitFSUBForFMACombine()
16360 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(0)), in visitFSUBForFMACombine()
16361 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(1)), in visitFSUBForFMACombine()
16362 matcher.getNode( in visitFSUBForFMACombine()
16364 matcher.getNode(ISD::FP_EXTEND, SL, VT, N002.getOperand(0)), in visitFSUBForFMACombine()
16365 matcher.getNode(ISD::FP_EXTEND, SL, VT, N002.getOperand(1)), in visitFSUBForFMACombine()
16366 matcher.getNode(ISD::FNEG, SL, VT, N1))); in visitFSUBForFMACombine()
16381 return matcher.getNode( in visitFSUBForFMACombine()
16383 matcher.getNode(ISD::FNEG, SL, VT, N1.getOperand(0)), in visitFSUBForFMACombine()
16385 matcher.getNode( in visitFSUBForFMACombine()
16387 matcher.getNode(ISD::FNEG, SL, VT, in visitFSUBForFMACombine()
16388 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1200)), in visitFSUBForFMACombine()
16389 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1201), N0)); in visitFSUBForFMACombine()
16409 return matcher.getNode( in visitFSUBForFMACombine()
16411 matcher.getNode(ISD::FNEG, SL, VT, in visitFSUBForFMACombine()
16412 matcher.getNode(ISD::FP_EXTEND, SL, VT, N100)), in visitFSUBForFMACombine()
16413 matcher.getNode(ISD::FP_EXTEND, SL, VT, N101), in visitFSUBForFMACombine()
16414 matcher.getNode( in visitFSUBForFMACombine()
16416 matcher.getNode(ISD::FNEG, SL, VT, in visitFSUBForFMACombine()
16417 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1020)), in visitFSUBForFMACombine()
16418 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1021), N0)); in visitFSUBForFMACombine()
16470 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16473 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16474 DAG.getNode(ISD::FNEG, SL, VT, Y)); in visitFMULForFMADistributiveCombine()
16493 return DAG.getNode(PreferredFusedOpcode, SL, VT, in visitFMULForFMADistributiveCombine()
16494 DAG.getNode(ISD::FNEG, SL, VT, X.getOperand(1)), Y, in visitFMULForFMADistributiveCombine()
16497 return DAG.getNode(PreferredFusedOpcode, SL, VT, in visitFMULForFMADistributiveCombine()
16498 DAG.getNode(ISD::FNEG, SL, VT, X.getOperand(1)), Y, in visitFMULForFMADistributiveCombine()
16499 DAG.getNode(ISD::FNEG, SL, VT, Y)); in visitFMULForFMADistributiveCombine()
16503 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16504 DAG.getNode(ISD::FNEG, SL, VT, Y)); in visitFMULForFMADistributiveCombine()
16506 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16527 AddToWorklist(Fused.getNode()); in visitVP_FADD()
16553 return DAG.getNode(ISD::FADD, DL, VT, N1, N0); in visitFADD()
16573 return DAG.getNode(ISD::FSUB, DL, VT, N0, NegN1); in visitFADD()
16579 return DAG.getNode(ISD::FSUB, DL, VT, N1, NegN0); in visitFADD()
16591 SDValue Add = DAG.getNode(ISD::FADD, DL, VT, B, B); in visitFADD()
16592 return DAG.getNode(ISD::FSUB, DL, VT, N1, Add); in visitFADD()
16597 SDValue Add = DAG.getNode(ISD::FADD, DL, VT, B, B); in visitFADD()
16598 return DAG.getNode(ISD::FSUB, DL, VT, N0, Add); in visitFADD()
16625 SDValue NewC = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), N1); in visitFADD()
16626 return DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(0), NewC); in visitFADD()
16641 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), in visitFADD()
16643 return DAG.getNode(ISD::FMUL, DL, VT, N1, NewCFP); in visitFADD()
16650 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), in visitFADD()
16652 return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), NewCFP); in visitFADD()
16664 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N1.getOperand(1), in visitFADD()
16666 return DAG.getNode(ISD::FMUL, DL, VT, N0, NewCFP); in visitFADD()
16673 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N1.getOperand(1), in visitFADD()
16675 return DAG.getNode(ISD::FMUL, DL, VT, N1.getOperand(0), NewCFP); in visitFADD()
16685 return DAG.getNode(ISD::FMUL, DL, VT, N1, in visitFADD()
16696 return DAG.getNode(ISD::FMUL, DL, VT, N0, in visitFADD()
16706 return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), in visitFADD()
16720 AddToWorklist(Fused.getNode()); in visitFADD()
16739 return DAG.getNode(ISD::STRICT_FSUB, DL, DAG.getVTList(VT, ChainVT), in visitSTRICT_FADD()
16747 return DAG.getNode(ISD::STRICT_FSUB, DL, DAG.getVTList(VT, ChainVT), in visitSTRICT_FADD()
16807 return DAG.getNode(ISD::FNEG, DL, VT, N1); in visitFSUB()
16817 return DAG.getNode(ISD::FNEG, DL, VT, N1->getOperand(1)); in visitFSUB()
16820 return DAG.getNode(ISD::FNEG, DL, VT, N1->getOperand(0)); in visitFSUB()
16826 return DAG.getNode(ISD::FADD, DL, VT, N0, NegN1); in visitFSUB()
16830 AddToWorklist(Fused.getNode()); in visitFSUB()
16935 SDValue Shift = DAG.getNode(ISD::SHL, DL, NewIntVT, Log2, MantissaShiftCnt); in combineFMulOrFDivWithIntPow2()
16937 DAG.getNode(N->getOpcode() == ISD::FMUL ? ISD::ADD : ISD::SUB, DL, in combineFMulOrFDivWithIntPow2()
16963 return DAG.getNode(ISD::FMUL, DL, VT, N1, N0); in visitFMUL()
16983 SDValue MulConsts = DAG.getNode(ISD::FMUL, DL, VT, N01, N1); in visitFMUL()
16984 return DAG.getNode(ISD::FMUL, DL, VT, N00, MulConsts); in visitFMUL()
16993 SDValue MulConsts = DAG.getNode(ISD::FMUL, DL, VT, Two, N1); in visitFMUL()
16994 return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), MulConsts); in visitFMUL()
17005 return DAG.getNode(ISD::FADD, DL, VT, N0, N0); in visitFMUL()
17010 return DAG.getNode(ISD::FSUB, DL, VT, in visitFMUL()
17028 return DAG.getNode(ISD::FMUL, DL, VT, NegN0, NegN1); in visitFMUL()
17067 return DAG.getNode(ISD::FNEG, DL, VT, in visitFMUL()
17068 DAG.getNode(ISD::FABS, DL, VT, X)); in visitFMUL()
17070 return DAG.getNode(ISD::FABS, DL, VT, X); in visitFMUL()
17079 AddToWorklist(Fused.getNode()); in visitFMUL()
17108 return matcher.getNode(ISD::FMA, DL, VT, N0, N1, N2); in visitFMA()
17124 return matcher.getNode(ISD::FMA, DL, VT, NegN0, NegN1, N2); in visitFMA()
17137 return matcher.getNode(ISD::FADD, SDLoc(N), VT, N1, N2); in visitFMA()
17139 return matcher.getNode(ISD::FADD, SDLoc(N), VT, N0, N2); in visitFMA()
17144 return matcher.getNode(ISD::FMA, SDLoc(N), VT, N1, N0, N2); in visitFMA()
17153 return matcher.getNode( in visitFMA()
17155 matcher.getNode(ISD::FADD, DL, VT, N1, N2.getOperand(1))); in visitFMA()
17162 return matcher.getNode( in visitFMA()
17164 matcher.getNode(ISD::FMUL, DL, VT, N1, N0.getOperand(1)), N2); in visitFMA()
17172 return matcher.getNode(ISD::FADD, DL, VT, N0, N2); in visitFMA()
17176 SDValue RHSNeg = matcher.getNode(ISD::FNEG, DL, VT, N0); in visitFMA()
17177 AddToWorklist(RHSNeg.getNode()); in visitFMA()
17178 return matcher.getNode(ISD::FADD, DL, VT, N2, RHSNeg); in visitFMA()
17186 return matcher.getNode(ISD::FMA, DL, VT, N0.getOperand(0), in visitFMA()
17187 matcher.getNode(ISD::FNEG, DL, VT, N1), N2); in visitFMA()
17195 return matcher.getNode(ISD::FMUL, DL, VT, N0, in visitFMA()
17196 matcher.getNode(ISD::FADD, DL, VT, N1, in visitFMA()
17202 return matcher.getNode(ISD::FMUL, DL, VT, N0, in visitFMA()
17203 matcher.getNode(ISD::FADD, DL, VT, N1, in visitFMA()
17213 return matcher.getNode(ISD::FNEG, DL, VT, Neg); in visitFMA()
17227 return DAG.getNode(ISD::FMAD, DL, VT, N0, N1, N2); in visitFMAD()
17294 SDValue Reciprocal = DAG.getNode(ISD::FDIV, DL, VT, FPOne, N1, Flags); in combineRepeatedFPDivisors()
17300 SDValue NewNode = DAG.getNode(ISD::FMUL, SDLoc(U), VT, Dividend, in combineRepeatedFPDivisors()
17303 } else if (U != Reciprocal.getNode()) { in combineRepeatedFPDivisors()
17357 return DAG.getNode(ISD::FMUL, DL, VT, N0, in visitFDIV()
17366 return DAG.getNode(ISD::FMUL, DL, VT, N0, RV); in visitFDIV()
17371 RV = DAG.getNode(ISD::FP_EXTEND, SDLoc(N1), VT, RV); in visitFDIV()
17372 AddToWorklist(RV.getNode()); in visitFDIV()
17373 return DAG.getNode(ISD::FMUL, DL, VT, N0, RV); in visitFDIV()
17379 RV = DAG.getNode(ISD::FP_ROUND, SDLoc(N1), VT, RV, N1.getOperand(1)); in visitFDIV()
17380 AddToWorklist(RV.getNode()); in visitFDIV()
17381 return DAG.getNode(ISD::FMUL, DL, VT, N0, RV); in visitFDIV()
17394 if (Sqrt.getNode()) { in visitFDIV()
17407 SDValue AA = DAG.getNode(ISD::FMUL, DL, VT, A, A); in visitFDIV()
17409 DAG.getNode(ISD::FMUL, DL, VT, AA, Sqrt.getOperand(0)); in visitFDIV()
17411 return DAG.getNode(ISD::FMUL, DL, VT, N0, Rsqrt); in visitFDIV()
17414 recursivelyDeleteUnusedNodes(AAZ.getNode()); in visitFDIV()
17421 SDValue Div = DAG.getNode(ISD::FDIV, SDLoc(N1), VT, Rsqrt, Y); in visitFDIV()
17422 AddToWorklist(Div.getNode()); in visitFDIV()
17423 return DAG.getNode(ISD::FMUL, DL, VT, N0, Div); in visitFDIV()
17453 return DAG.getNode(ISD::FDIV, SDLoc(N), VT, NegN0, NegN1); in visitFDIV()
17489 SDValue Div = DAG.getNode(ISD::FDIV, DL, VT, N0, N1); in visitFREM()
17490 SDValue Rnd = DAG.getNode(ISD::FTRUNC, DL, VT, Div); in visitFREM()
17493 MLA = DAG.getNode(ISD::FMA, DL, VT, DAG.getNode(ISD::FNEG, DL, VT, Rnd), in visitFREM()
17496 SDValue Mul = DAG.getNode(ISD::FMUL, DL, VT, Rnd, N1); in visitFREM()
17497 MLA = DAG.getNode(ISD::FSUB, DL, VT, N0, Mul); in visitFREM()
17499 return NeedsCopySign ? DAG.getNode(ISD::FCOPYSIGN, DL, VT, MLA, N0) : MLA; in visitFREM()
17571 return DAG.getNode(ISD::FABS, DL, VT, N0); in visitFCOPYSIGN()
17574 return DAG.getNode(ISD::FNEG, DL, VT, in visitFCOPYSIGN()
17575 DAG.getNode(ISD::FABS, SDLoc(N0), VT, N0)); in visitFCOPYSIGN()
17584 return DAG.getNode(ISD::FCOPYSIGN, DL, VT, N0.getOperand(0), N1); in visitFCOPYSIGN()
17588 return DAG.getNode(ISD::FABS, DL, VT, N0); in visitFCOPYSIGN()
17592 return DAG.getNode(ISD::FCOPYSIGN, DL, VT, N0, N1.getOperand(1)); in visitFCOPYSIGN()
17597 return DAG.getNode(ISD::FCOPYSIGN, DL, VT, N0, N1.getOperand(0)); in visitFCOPYSIGN()
17644 return DAG.getNode(ISD::FCBRT, SDLoc(N), VT, N->getOperand(0)); in visitFPOW()
17679 SDValue Sqrt = DAG.getNode(ISD::FSQRT, DL, VT, N->getOperand(0)); in visitFPOW()
17680 SDValue SqrtSqrt = DAG.getNode(ISD::FSQRT, DL, VT, Sqrt); in visitFPOW()
17684 return DAG.getNode(ISD::FMUL, DL, VT, Sqrt, SqrtSqrt); in visitFPOW()
17708 return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0.getOperand(0)); in foldFPToIntToFP()
17712 return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0.getOperand(0)); in foldFPToIntToFP()
17731 return DAG.getNode(ISD::SINT_TO_FP, SDLoc(N), VT, N0); in visitSINT_TO_FP()
17739 return DAG.getNode(ISD::UINT_TO_FP, SDLoc(N), VT, N0); in visitSINT_TO_FP()
17783 return DAG.getNode(ISD::UINT_TO_FP, SDLoc(N), VT, N0); in visitUINT_TO_FP()
17791 return DAG.getNode(ISD::SINT_TO_FP, SDLoc(N), VT, N0); in visitUINT_TO_FP()
17841 return DAG.getNode(ExtOp, SDLoc(N), VT, Src); in FoldIntToFPToInt()
17844 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, Src); in FoldIntToFPToInt()
17860 return DAG.getNode(ISD::FP_TO_SINT, SDLoc(N), VT, N0); in visitFP_TO_SINT()
17875 return DAG.getNode(ISD::FP_TO_UINT, SDLoc(N), VT, N0); in visitFP_TO_UINT()
17890 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N0); in visitXRINT()
17935 return DAG.getNode( in visitFP_ROUND()
17949 SDValue Tmp = DAG.getNode(ISD::FP_ROUND, SDLoc(N0), VT, in visitFP_ROUND()
17951 AddToWorklist(Tmp.getNode()); in visitFP_ROUND()
17952 return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, in visitFP_ROUND()
17977 return DAG.getNode(ISD::FP_EXTEND, SDLoc(N), VT, N0); in visitFP_EXTEND()
17982 return DAG.getNode(ISD::FP16_TO_FP, SDLoc(N), VT, N0.getOperand(0)); in visitFP_EXTEND()
17991 return DAG.getNode(ISD::FP_ROUND, SDLoc(N), VT, in visitFP_EXTEND()
17993 return DAG.getNode(ISD::FP_EXTEND, SDLoc(N), VT, In); in visitFP_EXTEND()
17997 if (ISD::isNormalLoad(N0.getNode()) && N0.hasOneUse() && in visitFP_EXTEND()
18006 N0.getNode(), in visitFP_EXTEND()
18007 DAG.getNode(ISD::FP_ROUND, SDLoc(N0), N0.getValueType(), ExtLoad, in visitFP_EXTEND()
18025 return DAG.getNode(ISD::FCEIL, SDLoc(N), VT, N0); in visitFCEIL()
18036 return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0); in visitFTRUNC()
18060 return DAG.getNode(ISD::FFREXP, SDLoc(N), N->getVTList(), N0); in visitFFREXP()
18070 return DAG.getNode(ISD::FFLOOR, SDLoc(N), VT, N0); in visitFFLOOR()
18082 return DAG.getNode(ISD::FNEG, SDLoc(N), VT, N0); in visitFNEG()
18095 return DAG.getNode(ISD::FSUB, SDLoc(N), VT, N0.getOperand(1), in visitFNEG()
18122 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N1, N0); in visitFMinMax()
18169 return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0); in visitFABS()
18178 return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0.getOperand(0)); in visitFABS()
18194 return DAG.getNode(ISD::BRCOND, SDLoc(N), MVT::Other, Chain, in visitBRCOND()
18242 return DAG.getNode( in visitBRCOND()
18258 return DAG.getNode(ISD::BR_CC, SDLoc(N), MVT::Other, in visitBRCOND()
18268 return DAG.getNode(ISD::BRCOND, SDLoc(N), MVT::Other, in visitBRCOND()
18331 SDValue Tmp = visitXOR(N.getNode()); in rebuildSetCC()
18333 if (!Tmp.getNode()) in rebuildSetCC()
18337 if (Tmp.getNode() == N.getNode()) in rebuildSetCC()
18388 if (Simp.getNode()) AddToWorklist(Simp.getNode()); in visitBR_CC()
18391 if (Simp.getNode() && Simp.getOpcode() == ISD::SETCC) in visitBR_CC()
18392 return DAG.getNode(ISD::BR_CC, SDLoc(N), MVT::Other, in visitBR_CC()
18508 if (Val == Ptr || Ptr->isPredecessorOf(Val.getNode())) in CombineToPreIndexedLoadStore()
18529 if (Use.getUser() == Ptr.getNode() || Use != BasePtr) in CombineToPreIndexedLoadStore()
18571 if (!canFoldInAddressingMode(Ptr.getNode(), Use, DAG, TLI)) in CombineToPreIndexedLoadStore()
18614 if (OtherUses[i]->getOperand(OffsetIdx).getNode() == BasePtr.getNode()) in CombineToPreIndexedLoadStore()
18616 assert(OtherUses[i]->getOperand(!OffsetIdx).getNode() == in CombineToPreIndexedLoadStore()
18617 BasePtr.getNode() && "Expected BasePtr operand"); in CombineToPreIndexedLoadStore()
18651 SDValue NewUse = DAG.getNode(Opcode, in CombineToPreIndexedLoadStore()
18660 deleteAndRecombine(Ptr.getNode()); in CombineToPreIndexedLoadStore()
18661 AddToWorklist(Result.getNode()); in CombineToPreIndexedLoadStore()
18687 if (Use == Ptr.getNode()) in shouldCombineToPostInc()
18742 Visited.insert(Ptr.getNode()); in getPostIndexedLoadStoreOp()
18825 return DAG.getNode(Opc, SDLoc(LD), BP.getSimpleValueType(), BP, Inc); in SplitIndexingFromLoad()
18841 Val = DAG.getNode(ISD::FTRUNC, SDLoc(ST), STMemType, Val); in getTruncatedStoreValue()
18846 Val = DAG.getNode(ISD::TRUNCATE, SDLoc(ST), STMemType, Val); in getTruncatedStoreValue()
18869 Val = DAG.getNode(ISD::ANY_EXTEND, SDLoc(LD), LDType, Val); in extendLoadedValueToExtension()
18872 Val = DAG.getNode(ISD::SIGN_EXTEND, SDLoc(LD), LDType, Val); in extendLoadedValueToExtension()
18875 Val = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(LD), LDType, Val); in extendLoadedValueToExtension()
18895 StoreSDNode *Store = dyn_cast<StoreSDNode>(Op.getNode()); in getUniqueStoreFeeding()
18905 (Aliases.size() == 1 && Aliases.front().getNode() == Store)) in getUniqueStoreFeeding()
18910 StoreSDNode *Store = dyn_cast<StoreSDNode>(Chain.getNode()); in getUniqueStoreFeeding()
19007 auto Val = DAG.getNode(ISD::AND, SDLoc(LD), LDType, ST->getValue(), Mask); in ForwardStoreValueToDirectLoad()
19019 Val = DAG.getNode(ISD::SRL, SDLoc(LD), STType, Val, in ForwardStoreValueToDirectLoad()
19039 Val = DAG.getNode(ISD::TRUNCATE, SDLoc(LD), LDMemType, Val); in ForwardStoreValueToDirectLoad()
19050 deleteAndRecombine(Val.getNode()); in ForwardStoreValueToDirectLoad()
19078 AddUsersToWorklist(Chain.getNode()); in visitLOAD()
19133 assert(NewLoad.getNode() == N); in visitLOAD()
19159 SDValue Token = DAG.getNode(ISD::TokenFactor, SDLoc(N), in visitLOAD()
19416 BaseAddr = DAG->getNode(ISD::ADD, DL, ArithType, BaseAddr, in loadSlice()
19433 DAG->getNode(ISD::ZERO_EXTEND, SDLoc(LastInst), FinalType, LastInst); in loadSlice()
19721 SDValue Chain = DAG.getNode(ISD::TokenFactor, SDLoc(LD), MVT::Other, in SliceUpLoad()
19724 AddToWorklist(Chain.getNode()); in SliceUpLoad()
19738 !ISD::isNormalLoad(V->getOperand(0).getNode())) in CheckForMaskedLoad()
19783 if (LD == Chain.getNode()) in CheckForMaskedLoad()
19788 if (!LD->isOperandOf(Chain.getNode())) in CheckForMaskedLoad()
19844 IVal = DAG.getNode( in ShrinkLoadReplaceStoreWithStore()
19869 IVal = DAG.getNode(ISD::TRUNCATE, SDLoc(IVal), VT, IVal); in ShrinkLoadReplaceStoreWithStore()
19928 if (ISD::isNormalLoad(N0.getNode()) && N0.hasOneUse() && in ReduceLoadOpStoreWidth()
19929 Chain == SDValue(N0.getNode(), 1)) { in ReduceLoadOpStoreWidth()
19990 SDValue NewVal = DAG.getNode(Opc, SDLoc(Value), NewVT, NewLD, in ReduceLoadOpStoreWidth()
19997 AddToWorklist(NewPtr.getNode()); in ReduceLoadOpStoreWidth()
19998 AddToWorklist(NewLD.getNode()); in ReduceLoadOpStoreWidth()
19999 AddToWorklist(NewVal.getNode()); in ReduceLoadOpStoreWidth()
20016 if (ISD::isNormalStore(ST) && ISD::isNormalLoad(Value.getNode()) && in TransformFPLoadStorePair()
20056 AddToWorklist(NewLD.getNode()); in TransformFPLoadStorePair()
20057 AddToWorklist(NewST.getNode()); in TransformFPLoadStorePair()
20097 SDNode *MulVar = AddNode.getOperand(0).getNode(); in isMulAddWithConstProfitable()
20101 OtherOp = Use->getOperand(1).getNode(); in isMulAddWithConstProfitable()
20103 OtherOp = Use->getOperand(0).getNode(); in isMulAddWithConstProfitable()
20133 OtherOp->getOperand(0).getNode() == MulVar) in isMulAddWithConstProfitable()
20154 if (Visited.insert(StoreNodes[i].MemNode->getChain().getNode()).second) in getMergeStoreChains()
20258 StoredVal = DAG.getNode(MemVT.isVector() ? ISD::CONCAT_VECTORS in mergeStoresOfConstantsOrVecElts()
20281 Val = DAG.getNode(ISD::BUILD_VECTOR, DL, MemVT, Val); in mergeStoresOfConstantsOrVecElts()
20287 Val = DAG.getNode(OpC, SDLoc(Val), MemVT, Vec, Idx); in mergeStoresOfConstantsOrVecElts()
20294 StoredVal = DAG.getNode(MemVT.isVector() ? ISD::CONCAT_VECTORS in mergeStoresOfConstantsOrVecElts()
20327 } else if (ISD::isBuildVectorOfConstantSDNodes(Val.getNode()) || in mergeStoresOfConstantsOrVecElts()
20328 ISD::isBuildVectorOfConstantFPSDNodes(Val.getNode())) { in mergeStoresOfConstantsOrVecElts()
20378 AddToWorklist(NewChain.getNode()); in mergeStoresOfConstantsOrVecElts()
20389 if (!BasePtr.getBase().getNode() || BasePtr.getBase().isUndef()) in getStoreMergeCandidates()
20497 SDNode *RootNode = St->getChain().getNode(); in getStoreMergeCandidates()
20528 RootNode = Ldn->getChain().getNode(); in getStoreMergeCandidates()
20577 Worklist.push_back(Op.getNode()); in checkMergeStoreCandidatesForDependencies()
20603 Worklist.push_back(Op.getNode()); in checkMergeStoreCandidatesForDependencies()
20691 else if (ISD::isBuildVectorAllZeros(StoredVal.getNode())) in tryStoreMergeOfConstants()
20888 if (LdBasePtr.getBase().getNode()) { in tryStoreMergeOfLoads()
21078 AddToWorklist(NewStoreChain.getNode()); in tryStoreMergeOfLoads()
21107 StoreOp = DAG.getNode(ISD::ROTL, LoadDL, JointMemOpVT, NewLoad, RotAmt); in tryStoreMergeOfLoads()
21133 SDValue(NewLoad.getNode(), 1)); in tryStoreMergeOfLoads()
21142 recursivelyDeleteUnusedNodes(Val.getNode()); in tryStoreMergeOfLoads()
21260 SDValue Token = DAG.getNode(ISD::TokenFactor, SL, in replaceStoreChain()
21264 AddToWorklist(Token.getNode()); in replaceStoreChain()
21340 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, in replaceStoreOfFPConstant()
21463 assert(NewStore.getNode() == N); in visitSTORE()
21509 AddToWorklist(Value.getNode()); in visitSTORE()
21682 if (!mayAlias(Chain.getNode(), N)) in visitLIFETIME_END()
21803 Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Lo.getOperand(0)); in splitMergedValStore()
21804 Hi = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Hi.getOperand(0)); in splitMergedValStore()
21967 SDValue PaddedSubV = DAG.getNode(ISD::CONCAT_VECTORS, DL, ShufVT, ConcatOps); in combineInsertEltToShuffle()
21972 AddToWorklist(PaddedSubV.getNode()); in combineInsertEltToShuffle()
21973 AddToWorklist(DestVecBC.getNode()); in combineInsertEltToShuffle()
21974 AddToWorklist(Shuf.getNode()); in combineInsertEltToShuffle()
22058 Ptr = DAG.getNode(ISD::ADD, DL, Ptr.getValueType(), VecLoad->getBasePtr(), in combineInsertEltToLoad()
22068 return Extend ? DAG.getNode(Extend, DL, VT, Load) : Load; in combineInsertEltToLoad()
22128 SDValue NewOp = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VT, in visitINSERT_VECTOR_ELT()
22130 AddToWorklist(NewOp.getNode()); in visitINSERT_VECTOR_ELT()
22131 return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(InVec.getNode()), in visitINSERT_VECTOR_ELT()
22250 return DAG.getNode(ISD::AND, DL, VT, CurVec, in visitINSERT_VECTOR_ELT()
22346 Load = DAG.getNode(ISD::TRUNCATE, DL, ResultVT, Load); in scalarizeExtractedVectorLoad()
22377 ISD::isConstantSplatVector(Op0.getNode(), SplatVal) || in scalarizeExtractedBinop()
22379 ISD::isConstantSplatVector(Op1.getNode(), SplatVal)) { in scalarizeExtractedBinop()
22383 SDValue Ext0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Op0, Index); in scalarizeExtractedBinop()
22384 SDValue Ext1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Op1, Index); in scalarizeExtractedBinop()
22385 return DAG.getNode(Vec.getOpcode(), DL, VT, Ext0, Ext1); in scalarizeExtractedBinop()
22483 User->getOperand(0).getNode() == E.Producer && ShAmtC) { in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22545 SDValue V = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, NewScalarVT, NewVecOp, in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22585 return DAG.getNode(ISD::TRUNCATE, DL, ScalarVT, InOp); in visitEXTRACT_VECTOR_ELT()
22586 return DAG.getNode(ISD::ANY_EXTEND, DL, ScalarVT, InOp); in visitEXTRACT_VECTOR_ELT()
22722 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, SVInVec, in visitEXTRACT_VECTOR_ELT()
22785 ISD::isNormalLoad(VecOp.getNode()) && in visitEXTRACT_VECTOR_ELT()
22786 !Index->hasPredecessor(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22802 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22806 ISD::isNormalLoad(VecOp.getOperand(0).getNode())) { in visitEXTRACT_VECTOR_ELT()
22838 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22862 SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, in visitEXTRACT_VECTOR_ELT()
22865 return DAG.getNode(ISD::BITCAST, DL, ScalarVT, Elt); in visitEXTRACT_VECTOR_ELT()
22994 AddToWorklist(BV.getNode()); in reduceBuildVecExtToExtBuildVec()
23091 EVT InVT2 = VecIn2.getNode() ? VecIn2.getValueType() : InVT1; in createBuildVecShuffle()
23118 VecIn1 = DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps); in createBuildVecShuffle()
23124 if (!VecIn2.getNode()) { in createBuildVecShuffle()
23127 VecIn2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, VecIn1, in createBuildVecShuffle()
23129 VecIn1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, VecIn1, ZeroIdx); in createBuildVecShuffle()
23151 VecIn2 = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, InVT1, in createBuildVecShuffle()
23159 VecIn2 = DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps); in createBuildVecShuffle()
23166 if (VT.getVectorNumElements() <= 2 || !VecIn2.getNode()) in createBuildVecShuffle()
23179 VecIn2 = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, InVT1, in createBuildVecShuffle()
23215 VecIn2 = VecIn2.getNode() ? VecIn2 : DAG.getUNDEF(InVT1); in createBuildVecShuffle()
23220 Shuffle = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Shuffle, ZeroIdx); in createBuildVecShuffle()
23420 SDValue VecIn2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, SplitVT, Vec, in reduceBuildVecToShuffle()
23422 SDValue VecIn1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, SplitVT, Vec, in reduceBuildVecToShuffle()
23537 LMask = cast<ShuffleVectorSDNode>(L.getNode())->getMask(); in reduceBuildVecToShuffle()
23546 RMask = cast<ShuffleVectorSDNode>(R.getNode())->getMask(); in reduceBuildVecToShuffle()
23616 In = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, InVT, In, in convertBuildVecZextToZext()
23618 return DAG.getNode(FoundZeroExtend ? ISD::ZERO_EXTEND : ISD::ANY_EXTEND, DL, in convertBuildVecZextToZext()
23733 Op = DAG.getNode(ISD::TRUNCATE, DL, NewScalarIntVT, Op); in convertBuildVecZextToBuildVecWithZeros()
23772 DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), NewVT, Ops); in visitBUILD_VECTOR()
23804 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), N->getValueType(0), in visitBUILD_VECTOR()
23828 return DAG.getNode(ISD::SPLAT_VECTOR, SDLoc(N), VT, V); in visitBUILD_VECTOR()
23855 Ops.push_back(DAG.getNode(ISD::UNDEF, DL, SVT)); in combineConcatVectorOfScalars()
23880 Op = DAG.getNode(ISD::UNDEF, DL, SVT); in combineConcatVectorOfScalars()
23927 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, ConcatOps); in combineConcatVectorOfConcatVectors()
24067 SDValue NewConcat = DAG.getNode(ISD::CONCAT_VECTORS, DL, ConcatSrcVT, SrcOps); in combineConcatVectorOfCasts()
24068 return DAG.getNode(CastOpcode, DL, VT, NewConcat); in combineConcatVectorOfCasts()
24104 (Op.getNode() == CurSVN || is_contained(CurSVN->ops(), Op)); in combineConcatVectorOfShuffleAndItsOperands()
24136 if (Op.getNode() == SVN) { in combineConcatVectorOfShuffleAndItsOperands()
24167 NewShufOp = DAG.getNode(ISD::CONCAT_VECTORS, dl, VT, ShufOpParts); in combineConcatVectorOfShuffleAndItsOperands()
24202 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops); in visitCONCAT_VECTORS()
24243 SDValue Res = DAG.getNode(ISD::SCALAR_TO_VECTOR, SDLoc(N), NVT, Scalar); in visitCONCAT_VECTORS()
24287 DAG.getNode(ISD::TRUNCATE, SDLoc(N), MinVT, Op.getOperand(i))); in visitCONCAT_VECTORS()
24340 if (SingleSource.getNode()) { in visitCONCAT_VECTORS()
24359 if (SingleSource.getNode()) in visitCONCAT_VECTORS()
24413 return DAG.getNode(BinOpcode, SDLoc(Extract), SubVT, Sub0, Sub1, in narrowInsertExtractVectorBinOp()
24493 SDValue X = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24495 SDValue Y = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24498 DAG.getNode(BOpcode, DL, NarrowBVT, X, Y, BinOp->getFlags()); in narrowExtractedVectorBinOp()
24534 : DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24538 : DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24541 SDValue NarrowBinOp = DAG.getNode(BOpcode, DL, NarrowBVT, X, Y); in narrowExtractedVectorBinOp()
24750 NewOps.emplace_back(DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowVT, in foldExtractSubvectorFromShuffleVector()
24783 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NVT, V.getOperand(0), in visitEXTRACT_SUBVECTOR()
24807 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NVT, InsSub, in visitEXTRACT_SUBVECTOR()
24827 SDValue NewExtract = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NewExtVT, in visitEXTRACT_SUBVECTOR()
24845 DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NewExtVT, in visitEXTRACT_SUBVECTOR()
24853 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, in visitEXTRACT_SUBVECTOR()
24892 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NVT, in visitEXTRACT_SUBVECTOR()
24924 Src = DAG.getNode(ISD::TRUNCATE, DL, EltVT, Src); in visitEXTRACT_SUBVECTOR()
24956 return DAG.getNode( in visitEXTRACT_SUBVECTOR()
25018 return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, Shuf0, Shuf1); in foldShuffleOfConcatUndefs()
25049 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, N0, N1); in partitionShuffleOfConcats()
25083 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops); in partitionShuffleOfConcats()
25121 if (N0AnyConst && !N1AnyConst && !ISD::isBuildVectorAllZeros(N0.getNode())) in combineShuffleOfScalars()
25123 if (!N0AnyConst && N1AnyConst && !ISD::isBuildVectorAllZeros(N1.getNode())) in combineShuffleOfScalars()
25255 return DAG.getBitcast(VT, DAG.getNode(Opcode, SDLoc(SVN), *OutVT, N0)); in combineShuffleToAnyExtendVectorInreg()
25376 return DAG.getBitcast(VT, DAG.getNode(Opcode, SDLoc(SVN), *OutVT, in combineShuffleToZeroExtendVectorInReg()
25717 return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(Shuf), Op0.getValueType(), in replaceShuffleOfInsert()
25811 SDValue ExtL = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, L, Index); in visitVECTOR_SHUFFLE()
25812 SDValue ExtR = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, R, Index); in visitVECTOR_SHUFFLE()
25814 DAG.getNode(N0.getOpcode(), DL, EltVT, ExtL, ExtR, N0->getFlags()); in visitVECTOR_SHUFFLE()
25815 SDValue Insert = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VT, NewBO); in visitVECTOR_SHUFFLE()
25853 SDNode *V = N0.getNode(); in visitVECTOR_SHUFFLE()
25858 V = ConvInput.getNode(); in visitVECTOR_SHUFFLE()
25873 if (!Base.getNode()) in visitVECTOR_SHUFFLE()
25943 SDValue NewCat = DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, in visitVECTOR_SHUFFLE()
25994 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, LHS, in visitVECTOR_SHUFFLE()
26061 VT, DAG.getNode(ISD::AND, DL, IntVT, DAG.getBitcast(IntVT, N0), in visitVECTOR_SHUFFLE()
26187 if (!SV0.getNode() || SV0 == CurrentVec) { in visitVECTOR_SHUFFLE()
26194 if (!SV1.getNode() || SV1 == CurrentVec) { in visitVECTOR_SHUFFLE()
26289 N->isOnlyUserOf(N->getOperand(i).getNode())) { in visitVECTOR_SHUFFLE()
26316 if (TLI.isBinOp(SrcOpcode) && N->isOnlyUserOf(N0.getNode()) && in visitVECTOR_SHUFFLE()
26318 (SrcOpcode == N1.getOpcode() && N->isOnlyUserOf(N1.getNode())))) { in visitVECTOR_SHUFFLE()
26383 return DAG.getNode(SrcOpcode, DL, VT, LHS, RHS); in visitVECTOR_SHUFFLE()
26420 Scalar->isOnlyUserOf(Scalar.getOperand(0).getNode()) && in visitSCALAR_TO_VECTOR()
26421 Scalar->isOnlyUserOf(Scalar.getOperand(1).getNode()) && in visitSCALAR_TO_VECTOR()
26441 SDValue VecBO = DAG.getNode(Opcode, DL, VT, V[i], V[1 - i]); in visitSCALAR_TO_VECTOR()
26458 SDValue Val = DAG.getNode(ISD::TRUNCATE, SDLoc(Scalar), VecEltVT, Scalar); in visitSCALAR_TO_VECTOR()
26459 return DAG.getNode(ISD::SCALAR_TO_VECTOR, SDLoc(N), VT, Val); in visitSCALAR_TO_VECTOR()
26488 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), SubVT, LegalShuffle, in visitSCALAR_TO_VECTOR()
26520 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), in visitINSERT_SUBVECTOR()
26524 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), in visitINSERT_SUBVECTOR()
26540 return DAG.getNode(ISD::SPLAT_VECTOR, SDLoc(N), VT, N1.getOperand(0)); in visitINSERT_SUBVECTOR()
26568 SDValue NewINSERT = DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), in visitINSERT_SUBVECTOR()
26580 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, N0.getOperand(0), in visitINSERT_SUBVECTOR()
26589 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, N0, in visitINSERT_SUBVECTOR()
26623 Res = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, NewVT, Res, N1Src, NewIdx); in visitINSERT_SUBVECTOR()
26638 SDValue NewOp = DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, in visitINSERT_SUBVECTOR()
26640 AddToWorklist(NewOp.getNode()); in visitINSERT_SUBVECTOR()
26641 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N0.getNode()), in visitINSERT_SUBVECTOR()
26655 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops); in visitINSERT_SUBVECTOR()
26686 return DAG.getNode(Op, SDLoc(N), N->getValueType(0), N0.getOperand(0)); in visitFP16_TO_FP()
26722 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT.getVectorElementType(), N0, in visitVECREDUCE()
26725 Res = DAG.getNode(ISD::ANY_EXTEND, dl, N->getValueType(0), Res); in visitVECREDUCE()
26737 return DAG.getNode(NewOpcode, SDLoc(N), N->getValueType(0), N0); in visitVECREDUCE()
26750 return DAG.getNode(Opcode, SDLoc(N), N->getValueType(0), Subvec); in visitVECREDUCE()
26761 AddToWorklist(Fused.getNode()); in visitVP_FSUB()
26793 ISD::isConstantSplatVectorAllZeros(N->getOperand(*MaskIdx).getNode()); in visitVPOp()
27042 SDValue X = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src0, IndexC); in scalarizeBinOpOfSplats()
27043 SDValue Y = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src1, IndexC); in scalarizeBinOpOfSplats()
27044 SDValue ScalarBO = DAG.getNode(Opcode, DL, EltVT, X, Y, N->getFlags()); in scalarizeBinOpOfSplats()
27084 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, SrcEltVT, Src0, IndexC); in SimplifyVCastOp()
27085 SDValue ScalarBO = DAG.getNode(Opcode, DL, EltVT, Elt, N->getFlags()); in SimplifyVCastOp()
27118 SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, LHS.getOperand(0), in SimplifyVBinOp()
27135 SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, X, RHS, Flags); in SimplifyVBinOp()
27144 SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, LHS, X, Flags); in SimplifyVBinOp()
27167 DAG.getNode(Opcode, DL, VT, DAG.getUNDEF(VT), DAG.getUNDEF(VT)); in SimplifyVBinOp()
27168 SDValue NarrowBO = DAG.getNode(Opcode, DL, NarrowVT, X, Y); in SimplifyVBinOp()
27169 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VT, VecC, NarrowBO, Z); in SimplifyVBinOp()
27178 ISD::isBuildVectorOfConstantSDNodes(Op.getNode()); in SimplifyVBinOp()
27196 ConcatOps.push_back(DAG.getNode(Opcode, DL, NarrowVT, LHS.getOperand(i), in SimplifyVBinOp()
27200 return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps); in SimplifyVBinOp()
27221 if (SCC.getNode()) { in SimplifySelect()
27226 SDValue SETCC = DAG.getNode(ISD::SETCC, SDLoc(N0), in SimplifySelect()
27230 AddToWorklist(SETCC.getNode()); in SimplifySelect()
27358 SDNode *CondNode = TheSelect->getOperand(0).getNode(); in SimplifySelectOps()
27378 SDNode *CondLHS = TheSelect->getOperand(0).getNode(); in SimplifySelectOps()
27379 SDNode *CondRHS = TheSelect->getOperand(1).getNode(); in SimplifySelectOps()
27389 Addr = DAG.getNode(ISD::SELECT_CC, SDLoc(TheSelect), in SimplifySelectOps()
27426 CombineTo(LHS.getNode(), Load.getValue(0), Load.getValue(1)); in SimplifySelectOps()
27427 CombineTo(RHS.getNode(), Load.getValue(0), Load.getValue(1)); in SimplifySelectOps()
27467 auto *N2C = dyn_cast<ConstantSDNode>(N2.getNode()); in foldSelectCCToShiftAnd()
27472 SDValue Shift = DAG.getNode(ISD::SRL, DL, XType, N0, ShiftAmt); in foldSelectCCToShiftAnd()
27473 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27476 Shift = DAG.getNode(ISD::TRUNCATE, DL, AType, Shift); in foldSelectCCToShiftAnd()
27477 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27483 return DAG.getNode(ISD::AND, DL, AType, Shift, N2); in foldSelectCCToShiftAnd()
27492 SDValue Shift = DAG.getNode(ISD::SRA, DL, XType, N0, ShiftAmt); in foldSelectCCToShiftAnd()
27493 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27496 Shift = DAG.getNode(ISD::TRUNCATE, DL, AType, Shift); in foldSelectCCToShiftAnd()
27497 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27503 return DAG.getNode(ISD::AND, DL, AType, Shift, N2); in foldSelectCCToShiftAnd()
27535 SDValue NewBinOp = DAG.getNode(BinOpc, DL, OpVTs, NewSel, N1.getOperand(1)); in foldSelectOfBinops()
27538 return SDValue(NewBinOp.getNode(), N1.getResNo()); in foldSelectOfBinops()
27550 DAG.getNode(BinOpc, DL, OpVTs, N1.getOperand(0), NewSel); in foldSelectOfBinops()
27553 return SDValue(NewBinOp.getNode(), N1.getResNo()); in foldSelectOfBinops()
27595 Int = DAG.getNode(IsFabs ? ISD::AND : ISD::XOR, DL, IntVT, Int, in foldSignChangeInBitcast()
27597 AddToWorklist(Int.getNode()); in foldSignChangeInBitcast()
27648 AddToWorklist(Cond.getNode()); in convertSelectOfFPConstantsToLoadOffset()
27650 AddToWorklist(CstOffset.getNode()); in convertSelectOfFPConstantsToLoadOffset()
27651 CPIdx = DAG.getNode(ISD::ADD, DL, CPIdx.getValueType(), CPIdx, CstOffset); in convertSelectOfFPConstantsToLoadOffset()
27652 AddToWorklist(CPIdx.getNode()); in convertSelectOfFPConstantsToLoadOffset()
27669 auto *N1C = dyn_cast<ConstantSDNode>(N1.getNode()); in SimplifySelectCC()
27670 auto *N2C = dyn_cast<ConstantSDNode>(N2.getNode()); in SimplifySelectCC()
27671 auto *N3C = dyn_cast<ConstantSDNode>(N3.getNode()); in SimplifySelectCC()
27675 AddToWorklist(SCC.getNode()); in SimplifySelectCC()
27707 SDValue Shl = DAG.getNode(ISD::SHL, SDLoc(N0), VT, AndLHS, ShlAmt); in SimplifySelectCC()
27712 SDValue Shr = DAG.getNode(ISD::SRA, SDLoc(N0), VT, Shl, ShrAmt); in SimplifySelectCC()
27714 return DAG.getNode(ISD::AND, DL, VT, Shr, N3); in SimplifySelectCC()
27745 Temp = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N2), VT, SCC); in SimplifySelectCC()
27748 AddToWorklist(SCC.getNode()); in SimplifySelectCC()
27749 AddToWorklist(Temp.getNode()); in SimplifySelectCC()
27759 return DAG.getNode( in SimplifySelectCC()
27787 return DAG.getNode(ISD::CTTZ, DL, VT, N0); in SimplifySelectCC()
27794 return DAG.getNode(ISD::CTLZ, DL, VT, N0); in SimplifySelectCC()
27806 SDValue ASR = DAG.getNode( in SimplifySelectCC()
27809 return DAG.getNode(ISD::XOR, DL, VT, DAG.getSExtOrTrunc(ASR, DL, VT), in SimplifySelectCC()
27996 return DAG.getNode(ISD::ADD, DL, VT, LogX, in takeInexpensiveLog2()
28022 return DAG.getNode(Op.getOpcode(), DL, VT, LogX, LogY); in takeInexpensiveLog2()
28039 SDValue Ctlz = DAG.getNode(ISD::CTLZ, DL, VT, V); in BuildLogBase2()
28041 SDValue LogBase2 = DAG.getNode(ISD::SUB, DL, VT, Base, Ctlz); in BuildLogBase2()
28074 AddToWorklist(Est.getNode()); in BuildDivEstimate()
28086 MulEst = DAG.getNode(ISD::FMUL, DL, VT, N, Est, Flags); in BuildDivEstimate()
28087 AddToWorklist(MulEst.getNode()); in BuildDivEstimate()
28090 SDValue NewEst = DAG.getNode(ISD::FMUL, DL, VT, Op, MulEst, Flags); in BuildDivEstimate()
28091 AddToWorklist(NewEst.getNode()); in BuildDivEstimate()
28093 NewEst = DAG.getNode(ISD::FSUB, DL, VT, in BuildDivEstimate()
28095 AddToWorklist(NewEst.getNode()); in BuildDivEstimate()
28097 NewEst = DAG.getNode(ISD::FMUL, DL, VT, Est, NewEst, Flags); in BuildDivEstimate()
28098 AddToWorklist(NewEst.getNode()); in BuildDivEstimate()
28100 Est = DAG.getNode(ISD::FADD, DL, VT, MulEst, NewEst, Flags); in BuildDivEstimate()
28101 AddToWorklist(Est.getNode()); in BuildDivEstimate()
28105 Est = DAG.getNode(ISD::FMUL, DL, VT, Est, N, Flags); in BuildDivEstimate()
28106 AddToWorklist(Est.getNode()); in BuildDivEstimate()
28130 SDValue HalfArg = DAG.getNode(ISD::FMUL, DL, VT, ThreeHalves, Arg, Flags); in buildSqrtNROneConst()
28131 HalfArg = DAG.getNode(ISD::FSUB, DL, VT, HalfArg, Arg, Flags); in buildSqrtNROneConst()
28135 SDValue NewEst = DAG.getNode(ISD::FMUL, DL, VT, Est, Est, Flags); in buildSqrtNROneConst()
28136 NewEst = DAG.getNode(ISD::FMUL, DL, VT, HalfArg, NewEst, Flags); in buildSqrtNROneConst()
28137 NewEst = DAG.getNode(ISD::FSUB, DL, VT, ThreeHalves, NewEst, Flags); in buildSqrtNROneConst()
28138 Est = DAG.getNode(ISD::FMUL, DL, VT, Est, NewEst, Flags); in buildSqrtNROneConst()
28143 Est = DAG.getNode(ISD::FMUL, DL, VT, Est, Arg, Flags); in buildSqrtNROneConst()
28168 SDValue AE = DAG.getNode(ISD::FMUL, DL, VT, Arg, Est, Flags); in buildSqrtNRTwoConst()
28169 SDValue AEE = DAG.getNode(ISD::FMUL, DL, VT, AE, Est, Flags); in buildSqrtNRTwoConst()
28170 SDValue RHS = DAG.getNode(ISD::FADD, DL, VT, AEE, MinusThree, Flags); in buildSqrtNRTwoConst()
28178 LHS = DAG.getNode(ISD::FMUL, DL, VT, Est, MinusHalf, Flags); in buildSqrtNRTwoConst()
28181 LHS = DAG.getNode(ISD::FMUL, DL, VT, AE, MinusHalf, Flags); in buildSqrtNRTwoConst()
28184 Est = DAG.getNode(ISD::FMUL, DL, VT, LHS, RHS, Flags); in buildSqrtNRTwoConst()
28218 AddToWorklist(Est.getNode()); in buildSqrtEstimateImpl()
28232 Est = DAG.getNode( in buildSqrtEstimateImpl()
28296 if (MUC0.BasePtr.getNode() && MUC0.BasePtr == MUC1.BasePtr && in mayAlias()
28433 bool IsOpLoad = isa<LoadSDNode>(C.getNode()) && in GatherAllAliases()
28434 cast<LSBaseSDNode>(C.getNode())->isSimple(); in GatherAllAliases()
28435 if ((IsLoad && IsOpLoad) || !mayAlias(N, C.getNode())) { in GatherAllAliases()
28453 if (!mayAlias(N, C.getNode())) { in GatherAllAliases()
28472 if (!Visited.insert(Chain.getNode()).second) in GatherAllAliases()
28504 if (Chain.getNode()) in GatherAllAliases()
28568 if (!BasePtr.getBase().getNode()) in parallelizeChainedStores()
28666 AddToWorklist(TF.getNode()); in parallelizeChainedStores()
28668 AddToWorklist(Op.getNode()); in parallelizeChainedStores()
28680 if (!BasePtr.getBase().getNode()) in findBetterNeighborChains()