Lines Matching refs:getNode

343       AddToWorklist(Op.getNode());  in SimplifyDemandedBits()
717 if (ISD::isBuildVectorOfConstantSDNodes(StoreVal.getNode()) || in getStoreSource()
718 ISD::isBuildVectorOfConstantFPSDNodes(StoreVal.getNode())) in getStoreSource()
908 template <typename... ArgT> SDValue getNode(ArgT &&...Args) { in getNode() function in __anonffc06dc60111::EmptyMatchContext
909 return DAG.getNode(std::forward<ArgT>(Args)...); in getNode()
952 !ISD::isConstantSplatVectorAllOnes(MaskOp.getNode())) in match()
967 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue Operand) { in getNode() function in __anonffc06dc60111::VPMatchContext
971 return DAG.getNode(VPOpcode, DL, VT, in getNode()
975 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() function in __anonffc06dc60111::VPMatchContext
980 return DAG.getNode(VPOpcode, DL, VT, in getNode()
984 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() function in __anonffc06dc60111::VPMatchContext
989 return DAG.getNode(VPOpcode, DL, VT, in getNode()
993 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue Operand, in getNode() function in __anonffc06dc60111::VPMatchContext
998 return DAG.getNode(VPOpcode, DL, VT, {Operand, RootMaskOp, RootVectorLenOp}, in getNode()
1002 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() function in __anonffc06dc60111::VPMatchContext
1007 return DAG.getNode(VPOpcode, DL, VT, {N1, N2, RootMaskOp, RootVectorLenOp}, in getNode()
1011 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() function in __anonffc06dc60111::VPMatchContext
1016 return DAG.getNode(VPOpcode, DL, VT, in getNode()
1076 AddToWorklist(Op.getNode()); in deleteAndRecombine()
1190 ISD::isBuildVectorOfConstantFPSDNodes(V.getNode()); in isAnyConstantBuildVector()
1299 return DAG.getNode(Opc, DL, VT, N00, OpNode); in reassociateOpsCommutative()
1309 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N00, N1, NewFlags); in reassociateOpsCommutative()
1310 return DAG.getNode(Opc, DL, VT, OpNode, N01, NewFlags); in reassociateOpsCommutative()
1339 return DAG.getNode(Opc, DL, VT, SDValue(NE, 0), N01); in reassociateOpsCommutative()
1349 return DAG.getNode(Opc, DL, VT, SDValue(NE, 0), N00); in reassociateOpsCommutative()
1367 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N00, N1, Flags); in reassociateOpsCommutative()
1368 return DAG.getNode(Opc, DL, VT, OpNode, N01, Flags); in reassociateOpsCommutative()
1371 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N01, N1, Flags); in reassociateOpsCommutative()
1372 return DAG.getNode(Opc, DL, VT, OpNode, N00, Flags); in reassociateOpsCommutative()
1411 return DAG.getNode(RedOpc, DL, VT, in reassociateReduction()
1412 DAG.getNode(Opc, DL, N0.getOperand(0).getValueType(), in reassociateReduction()
1426 assert((!To[i].getNode() || in CombineTo()
1435 if (To[i].getNode()) in CombineTo()
1436 AddToWorklistWithUsers(To[i].getNode()); in CombineTo()
1459 AddToWorklistWithUsers(TLO.New.getNode()); in CommitTargetLoweringOpt()
1462 recursivelyDeleteUnusedNodes(TLO.Old.getNode()); in CommitTargetLoweringOpt()
1477 AddToWorklist(Op.getNode()); in SimplifyDemandedBits()
1496 AddToWorklist(Op.getNode()); in SimplifyDemandedVectorElts()
1505 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, DL, VT, SDValue(ExtLoad, 0)); in ReplaceLoadWithPromotedLoad()
1513 AddToWorklist(Trunc.getNode()); in ReplaceLoadWithPromotedLoad()
1520 if (ISD::isUNINDEXEDLoad(Op.getNode())) { in PromoteOperand()
1536 return DAG.getNode(ISD::AssertSext, DL, PVT, Op0, Op.getOperand(1)); in PromoteOperand()
1540 return DAG.getNode(ISD::AssertZext, DL, PVT, Op0, Op.getOperand(1)); in PromoteOperand()
1545 return DAG.getNode(ExtOpc, DL, PVT, Op); in PromoteOperand()
1551 return DAG.getNode(ISD::ANY_EXTEND, DL, PVT, Op); in PromoteOperand()
1561 if (!NewOp.getNode()) in SExtPromoteOperand()
1563 AddToWorklist(NewOp.getNode()); in SExtPromoteOperand()
1566 ReplaceLoadWithPromotedLoad(Op.getNode(), NewOp.getNode()); in SExtPromoteOperand()
1567 return DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, NewOp.getValueType(), NewOp, in SExtPromoteOperand()
1576 if (!NewOp.getNode()) in ZExtPromoteOperand()
1578 AddToWorklist(NewOp.getNode()); in ZExtPromoteOperand()
1581 ReplaceLoadWithPromotedLoad(Op.getNode(), NewOp.getNode()); in ZExtPromoteOperand()
1620 DAG.getNode(ISD::TRUNCATE, DL, VT, DAG.getNode(Opc, DL, PVT, NN0, NN1)); in PromoteIntBinOp()
1631 CombineTo(Op.getNode(), RV); in PromoteIntBinOp()
1635 if (Replace0 && Replace1 && N0->isPredecessorOf(N1.getNode())) { in PromoteIntBinOp()
1641 AddToWorklist(NN0.getNode()); in PromoteIntBinOp()
1642 ReplaceLoadWithPromotedLoad(N0.getNode(), NN0.getNode()); in PromoteIntBinOp()
1645 AddToWorklist(NN1.getNode()); in PromoteIntBinOp()
1646 ReplaceLoadWithPromotedLoad(N1.getNode(), NN1.getNode()); in PromoteIntBinOp()
1687 if (!N0.getNode()) in PromoteIntShiftOp()
1693 DAG.getNode(ISD::TRUNCATE, DL, VT, DAG.getNode(Opc, DL, PVT, N0, N1)); in PromoteIntShiftOp()
1696 ReplaceLoadWithPromotedLoad(Op.getOperand(0).getNode(), N0.getNode()); in PromoteIntShiftOp()
1728 return DAG.getNode(Op.getOpcode(), SDLoc(Op), VT, Op.getOperand(0)); in PromoteExtend()
1737 if (!ISD::isUNINDEXEDLoad(Op.getNode())) in PromoteLoad()
1757 SDNode *N = Op.getNode(); in PromoteLoad()
1765 SDValue Result = DAG.getNode(ISD::TRUNCATE, DL, VT, NewLD); in PromoteLoad()
1773 AddToWorklist(Result.getNode()); in PromoteLoad()
1800 Nodes.insert(ChildN.getNode()); in recursivelyDeleteUnusedNodes()
1867 if (!CombinedNodes.count(ChildN.getNode())) in Run()
1868 AddToWorklist(ChildN.getNode()); in Run()
1873 if (!RV.getNode()) in Run()
1882 if (RV.getNode() == N) in Run()
1892 DAG.ReplaceAllUsesWith(N, RV.getNode()); in Run()
1905 AddToWorklistWithUsers(RV.getNode()); in Run()
2091 if (!RV.getNode()) { in combine()
2107 if (!RV.getNode()) { in combine()
2137 if (!RV.getNode() && TLI.isCommutativeBinOp(N->getOpcode())) { in combine()
2173 if (getInputChainForNode(N->getOperand(0).getNode()) == N->getOperand(1)) in visitTokenFactor()
2175 if (getInputChainForNode(N->getOperand(1).getNode()) == N->getOperand(0)) in visitTokenFactor()
2227 if (Op.hasOneUse() && !is_contained(TFs, Op.getNode())) { in visitTokenFactor()
2229 TFs.push_back(Op.getNode()); in visitTokenFactor()
2237 if (SeenOps.insert(Op.getNode()).second) in visitTokenFactor()
2265 Worklist.push_back(std::make_pair(Op.getNode(), NumLeftToConsider++)); in visitTokenFactor()
2276 while (OrigOpNumber < Ops.size() && Ops[OrigOpNumber].getNode() != Op) in visitTokenFactor()
2315 AddToWorklist(i, Op.getNode(), CurOpNumber); in visitTokenFactor()
2321 AddToWorklist(i, CurNode->getOperand(0).getNode(), CurOpNumber); in visitTokenFactor()
2325 AddToWorklist(i, MemNode->getChain().getNode(), CurOpNumber); in visitTokenFactor()
2344 if (SeenChains.count(Op.getNode()) == 0) in visitTokenFactor()
2425 if (LD->isIndexed() || LD->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2430 if (ST->isIndexed() || ST->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2435 if (LD->isIndexed() || LD->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2440 if (ST->isIndexed() || ST->getBasePtr().getNode() != N) in canFoldInAddressingMode()
2508 SDValue NewBO = DAG.getNode(Opcode, SDLoc(N), VT, F0, FVal, N->getFlags()); in foldSelectWithIdentityConstant()
2514 SDValue NewBO = DAG.getNode(Opcode, SDLoc(N), VT, F0, TVal, N->getFlags()); in foldSelectWithIdentityConstant()
2660 return DAG.getNode(IsAdd ? ISD::SUB : ISD::ADD, DL, VT, C1, LowBit); in foldAddSubBoolOfMaskedVal()
2697 SDValue NewShift = DAG.getNode(IsAdd ? ISD::SRA : ISD::SRL, DL, VT, in foldAddSubOfSignBit()
2699 return DAG.getNode(ISD::ADD, DL, VT, NewShift, NewC); in foldAddSubOfSignBit()
2733 return DAG.getNode(ISD::ADD, DL, VT, N1, N0); in visitADDLike()
2745 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitADDLike()
2759 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), Sub); in visitADDLike()
2763 return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1)); in visitADDLike()
2778 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Not); in visitADDLike()
2789 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), Add); in visitADDLike()
2816 return DAG.getNode( in visitADDLike()
2818 DAG.getNode(ISD::ADD, DL, VT, N1, N0.getOperand(0)), in visitADDLike()
2835 return DAG.getNode(ISD::SUB, DL, VT, N1, N0.getOperand(1)); in visitADDLike()
2839 return DAG.getNode(ISD::SUB, DL, VT, N0, N1.getOperand(1)); in visitADDLike()
2852 return DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(0), in visitADDLike()
2858 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), in visitADDLike()
2864 return DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(0), in visitADDLike()
2870 return DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(0), in visitADDLike()
2877 return DAG.getNode(N1.getOpcode(), DL, VT, N1.getOperand(0).getOperand(0), in visitADDLike()
2889 return DAG.getNode(ISD::SUB, DL, VT, in visitADDLike()
2890 DAG.getNode(ISD::ADD, SDLoc(N0), VT, N00, N10), in visitADDLike()
2891 DAG.getNode(ISD::ADD, SDLoc(N1), VT, N01, N11)); in visitADDLike()
2902 return DAG.getNode(ISD::USUBSAT, DL, VT, N0.getOperand(0), in visitADDLike()
2912 return DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT), in visitADDLike()
2928 return DAG.getNode(ISD::SUB, DL, VT, A, Xor.getOperand(0)); in visitADDLike()
2940 SDValue Not = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(0), in visitADDLike()
2942 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(1), Not); in visitADDLike()
2949 SDValue Xor = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(1), N1); in visitADDLike()
2950 return DAG.getNode(ISD::ADD, DL, VT, Xor, N0.getOperand(0)); in visitADDLike()
2980 return DAG.getNode(ISD::OR, DL, VT, N0, N1); in visitADD()
2996 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), VS); in visitADD()
3016 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), SV); in visitADD()
3041 return DAG.getNode(Opcode, DL, VT, N1, N0); in visitADDSAT()
3049 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitADDSAT()
3059 return DAG.getNode(ISD::ADD, DL, VT, N0, N1); in visitADDSAT()
3137 return DAG.getNode(IsAdd ? ISD::SUB : ISD::ADD, DL, VT, N0, N10); in foldAddSubMasked1()
3149 return DAG.getNode(ISD::SUB, DL, VT, N0, in visitADDLikeCommutative()
3150 DAG.getNode(ISD::SHL, DL, VT, in visitADDLikeCommutative()
3166 SDValue Not = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(0), in visitADDLikeCommutative()
3168 return DAG.getNode(ISD::SUB, DL, VT, N1, Not); in visitADDLikeCommutative()
3176 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), N1); in visitADDLikeCommutative()
3177 return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1)); in visitADDLikeCommutative()
3182 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N1, N0.getOperand(1)); in visitADDLikeCommutative()
3183 return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(0)); in visitADDLikeCommutative()
3191 SDValue NewC = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), in visitADDLikeCommutative()
3193 return DAG.getNode(ISD::MUL, DL, VT, N0.getOperand(0), NewC); in visitADDLikeCommutative()
3202 SDValue ZExt = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); in visitADDLikeCommutative()
3203 return DAG.getNode(ISD::SUB, DL, VT, N1, ZExt); in visitADDLikeCommutative()
3210 SDValue ZExt = DAG.getNode(ISD::AND, DL, VT, N1.getOperand(0), in visitADDLikeCommutative()
3212 return DAG.getNode(ISD::SUB, DL, VT, N0, ZExt); in visitADDLikeCommutative()
3219 return DAG.getNode(ISD::UADDO_CARRY, DL, N1->getVTList(), in visitADDLikeCommutative()
3225 return DAG.getNode(ISD::UADDO_CARRY, DL, in visitADDLikeCommutative()
3240 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDC()
3241 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitADDC()
3247 return DAG.getNode(ISD::ADDC, DL, N->getVTList(), N1, N0); in visitADDC()
3251 return CombineTo(N, N0, DAG.getNode(ISD::CARRY_FALSE, in visitADDC()
3256 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDC()
3257 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitADDC()
3315 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDO()
3321 return DAG.getNode(N->getOpcode(), DL, N->getVTList(), N1, N0); in visitADDO()
3329 return CombineTo(N, DAG.getNode(ISD::ADD, DL, VT, N0, N1), in visitADDO()
3335 return DAG.getNode(ISD::SSUBO, DL, N->getVTList(), in visitADDO()
3340 SDValue Sub = DAG.getNode(ISD::USUBO, DL, N->getVTList(), in visitADDO()
3367 return DAG.getNode(ISD::UADDO_CARRY, SDLoc(N), N->getVTList(), N0, Y, in visitUADDOLike()
3374 return DAG.getNode(ISD::UADDO_CARRY, SDLoc(N), N->getVTList(), N0, in visitUADDOLike()
3389 return DAG.getNode(ISD::ADDE, SDLoc(N), N->getVTList(), in visitADDE()
3394 return DAG.getNode(ISD::ADDC, SDLoc(N), N->getVTList(), N0, N1); in visitADDE()
3409 return DAG.getNode(ISD::UADDO_CARRY, DL, N->getVTList(), N1, N0, CarryIn); in visitUADDO_CARRY()
3415 return DAG.getNode(ISD::UADDO, DL, N->getVTList(), N0, N1); in visitUADDO_CARRY()
3423 AddToWorklist(CarryExt.getNode()); in visitUADDO_CARRY()
3424 return CombineTo(N, DAG.getNode(ISD::AND, DL, VT, CarryExt, in visitUADDO_CARRY()
3502 DAG.getNode(ISD::UADDO_CARRY, DL, Carry0->getVTList(), A, B, Z); in combineUADDO_CARRYDiamond()
3503 Combiner.AddToWorklist(NewY.getNode()); in combineUADDO_CARRYDiamond()
3504 return DAG.getNode(ISD::UADDO_CARRY, DL, N->getVTList(), X, in combineUADDO_CARRYDiamond()
3586 if (Carry1.getNode()->isOperandOf(Carry0.getNode())) in combineCarryDiamond()
3612 DAG.getNode(NewOp, DL, Carry1->getVTList(), Carry0.getOperand(0), in combineCarryDiamond()
3641 SDValue Sub = DAG.getNode(ISD::USUBO_CARRY, DL, N->getVTList(), N1, in visitUADDO_CARRYLike()
3655 return DAG.getNode(ISD::UADDO_CARRY, SDLoc(N), N->getVTList(), in visitUADDO_CARRYLike()
3679 return DAG.getNode(ISD::SSUBO_CARRY, SDLoc(N), N->getVTList(), N1, in visitSADDO_CARRYLike()
3696 return DAG.getNode(ISD::SADDO_CARRY, DL, N->getVTList(), N1, N0, CarryIn); in visitSADDO_CARRY()
3702 return DAG.getNode(ISD::SADDO, DL, N->getVTList(), N0, N1); in visitSADDO_CARRY()
3723 return DAG.getNode(ISD::USUBSAT, DL, DstVT, LHS, RHS); in getTruncatedUSUBSAT()
3736 RHS = DAG.getNode(ISD::UMIN, DL, SrcVT, RHS, SatLimit); in getTruncatedUSUBSAT()
3737 RHS = DAG.getNode(ISD::TRUNCATE, DL, DstVT, RHS); in getTruncatedUSUBSAT()
3738 LHS = DAG.getNode(ISD::TRUNCATE, DL, DstVT, LHS); in getTruncatedUSUBSAT()
3739 return DAG.getNode(ISD::USUBSAT, DL, DstVT, LHS, RHS); in getTruncatedUSUBSAT()
3828 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitSUB()
3839 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
3854 return DAG.getNode(NewSh, DL, VT, N1.getOperand(0), N1.getOperand(1)); in visitSUB()
3875 if (SDValue Result = TLI.expandABS(N1.getNode(), DAG, true)) in visitSUB()
3889 return DAG.getNode(ISD::XOR, DL, VT, N1, N0); in visitSUB()
3893 return DAG.getNode(ISD::ADD, DL, VT, N0, N1.getOperand(1)); in visitSUB()
3911 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), NewC); in visitSUB()
3918 return DAG.getNode(ISD::SUB, DL, VT, NewC, N1.getOperand(0)); in visitSUB()
3925 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), NewC); in visitSUB()
3932 return DAG.getNode(ISD::SUB, DL, VT, NewC, N0.getOperand(1)); in visitSUB()
3940 return DAG.getNode(N0.getOperand(1).getOpcode(), DL, VT, N0.getOperand(0), in visitSUB()
3946 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), in visitSUB()
3952 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), in visitSUB()
3957 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
3958 DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(1), in visitSUB()
3970 DAG.getNode(ISD::XOR, DL, VT, B, DAG.getAllOnesConstant(DL, VT)); in visitSUB()
3971 return DAG.getNode(ISD::AND, DL, VT, A, InvB); in visitSUB()
3979 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, in visitSUB()
3982 return DAG.getNode(ISD::ADD, DL, VT, N0, Mul); in visitSUB()
3986 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, in visitSUB()
3989 return DAG.getNode(ISD::ADD, DL, VT, N0, Mul); in visitSUB()
4013 SDValue Xor = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(1), in visitSUB()
4015 return DAG.getNode(ISD::ADD, DL, VT, Xor, N0.getOperand(0)); in visitSUB()
4023 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0, N1.getOperand(0)); in visitSUB()
4024 return DAG.getNode(ISD::ADD, DL, VT, Add, DAG.getConstant(1, DL, VT)); in visitSUB()
4031 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), N1); in visitSUB()
4032 return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(1)); in visitSUB()
4037 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, N1.getOperand(0)); in visitSUB()
4038 return DAG.getNode(ISD::SUB, DL, VT, Sub, N1.getOperand(1)); in visitSUB()
4044 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), N1); in visitSUB()
4045 return DAG.getNode(ISD::SUB, DL, VT, Sub, N0.getOperand(1)); in visitSUB()
4050 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), N1); in visitSUB()
4051 return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), Add); in visitSUB()
4061 SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND, DL, VT, N1.getOperand(0)); in visitSUB()
4062 return DAG.getNode(ISD::ADD, DL, VT, N0, SExt); in visitSUB()
4073 return DAG.getNode(ISD::ABS, SDLoc(N), VT, S0); in visitSUB()
4091 SDValue ZExt = DAG.getNode(ISD::AND, DL, VT, N1.getOperand(0), in visitSUB()
4093 return DAG.getNode(ISD::ADD, DL, VT, N0, ZExt); in visitSUB()
4100 return DAG.getNode(ISD::ADD, DL, VT, N0, DAG.getVScale(DL, VT, -IntVal)); in visitSUB()
4106 return DAG.getNode(ISD::ADD, DL, VT, N0, in visitSUB()
4117 SDValue SRA = DAG.getNode(ISD::SRA, DL, VT, N1.getOperand(0), ShAmt); in visitSUB()
4118 return DAG.getNode(ISD::ADD, DL, VT, N0, SRA); in visitSUB()
4128 return DAG.getNode(ISD::ADD, DL, VT, N1, N0); in visitSUB()
4134 return DAG.getNode(ISD::USUBO_CARRY, DL, N0->getVTList(), in visitSUB()
4142 SDValue NegX = DAG.getNode(ISD::SUB, DL, VT, Zero, X); in visitSUB()
4143 return DAG.getNode(ISD::UADDO_CARRY, DL, in visitSUB()
4156 return DAG.getNode(ISD::XOR, DL, VT, N1, N0); in visitSUB()
4171 return DAG.getNode(Abd, DL, VT, N0.getOperand(0), N0.getOperand(1)); in visitSUB()
4207 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitSUBSAT()
4217 return DAG.getNode(ISD::SUB, DL, VT, N0, N1); in visitSUBSAT()
4230 return CombineTo(N, DAG.getNode(ISD::SUB, DL, VT, N0, N1), in visitSUBC()
4231 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4236 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4240 return CombineTo(N, N0, DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4244 return CombineTo(N, DAG.getNode(ISD::XOR, DL, VT, N1, N0), in visitSUBC()
4245 DAG.getNode(ISD::CARRY_FALSE, DL, MVT::Glue)); in visitSUBC()
4261 return CombineTo(N, DAG.getNode(ISD::SUB, DL, VT, N0, N1), in visitSUBO()
4273 return DAG.getNode(ISD::SADDO, DL, N->getVTList(), N0, in visitSUBO()
4283 return CombineTo(N, DAG.getNode(ISD::SUB, DL, VT, N0, N1), in visitSUBO()
4288 return CombineTo(N, DAG.getNode(ISD::XOR, DL, VT, N1, N0), in visitSUBO()
4301 return DAG.getNode(ISD::SUBC, SDLoc(N), N->getVTList(), N0, N1); in visitSUBE()
4315 return DAG.getNode(ISD::USUBO, SDLoc(N), N->getVTList(), N0, N1); in visitUSUBO_CARRY()
4330 return DAG.getNode(ISD::SSUBO, SDLoc(N), N->getVTList(), N0, N1); in visitSSUBO_CARRY()
4351 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N1, N0, Scale); in visitMULFIX()
4377 return DAG.getNode(ISD::MUL, DL, VT, N1, N0); in visitMUL()
4388 N1IsConst = ISD::isConstantSplatVector(N1.getNode(), ConstValue1); in visitMUL()
4421 return DAG.getNode(ISD::SHL, DL, VT, N0, Trunc); in visitMUL()
4432 return DAG.getNode(ISD::SUB, DL, VT, in visitMUL()
4434 DAG.getNode(ISD::SHL, DL, VT, N0, in visitMUL()
4489 DAG.getNode(ISD::SHL, DL, VT, N0, DAG.getConstant(ShAmt, DL, VT)); in visitMUL()
4491 TZeros ? DAG.getNode(MathOp, DL, VT, Shl, in visitMUL()
4492 DAG.getNode(ISD::SHL, DL, VT, N0, in visitMUL()
4494 : DAG.getNode(MathOp, DL, VT, Shl, N0); in visitMUL()
4505 return DAG.getNode(ISD::MUL, DL, VT, N0.getOperand(0), C3); in visitMUL()
4523 if (Sh.getNode()) { in visitMUL()
4524 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, Sh.getOperand(0), Y); in visitMUL()
4525 return DAG.getNode(ISD::SHL, DL, VT, Mul, Sh.getOperand(1)); in visitMUL()
4534 return DAG.getNode( in visitMUL()
4536 DAG.getNode(ISD::MUL, SDLoc(N0), VT, N0.getOperand(0), N1), in visitMUL()
4537 DAG.getNode(ISD::MUL, SDLoc(N1), VT, N0.getOperand(1), N1)); in visitMUL()
4550 ISD::isConstantSplatVector(N1.getNode(), MulVal)) { in visitMUL()
4582 return DAG.getNode(ISD::AND, DL, VT, N0, DAG.getBuildVector(VT, DL, Mask)); in visitMUL()
4673 combined = DAG.getNode(DivRemOpc, SDLoc(Node), VTs, Op0, Op1); in useDivRem()
4772 return DAG.getNode(ISD::UDIV, DL, N1.getValueType(), N0, N1); in visitSDIV()
4779 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, V, N1); in visitSDIV()
4780 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, Mul); in visitSDIV()
4781 AddToWorklist(Mul.getNode()); in visitSDIV()
4782 AddToWorklist(Sub.getNode()); in visitSDIV()
4833 SDValue C1 = DAG.getNode(ISD::CTTZ, DL, VT, N1); in visitSDIVLike()
4835 SDValue Inexact = DAG.getNode(ISD::SUB, DL, ShiftAmtTy, Bits, C1); in visitSDIVLike()
4840 SDValue Sign = DAG.getNode(ISD::SRA, DL, VT, N0, in visitSDIVLike()
4842 AddToWorklist(Sign.getNode()); in visitSDIVLike()
4845 SDValue Srl = DAG.getNode(ISD::SRL, DL, VT, Sign, Inexact); in visitSDIVLike()
4846 AddToWorklist(Srl.getNode()); in visitSDIVLike()
4847 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0, Srl); in visitSDIVLike()
4848 AddToWorklist(Add.getNode()); in visitSDIVLike()
4849 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Add, C1); in visitSDIVLike()
4850 AddToWorklist(Sra.getNode()); in visitSDIVLike()
4858 SDValue IsOneOrAllOnes = DAG.getNode(ISD::OR, DL, CCVT, IsOne, IsAllOnes); in visitSDIVLike()
4864 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, Zero, Sra); in visitSDIVLike()
4919 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, V, N1); in visitUDIV()
4920 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, Mul); in visitUDIV()
4921 AddToWorklist(Mul.getNode()); in visitUDIV()
4922 AddToWorklist(Sub.getNode()); in visitUDIV()
4946 AddToWorklist(LogBase2.getNode()); in visitUDIVLike()
4950 AddToWorklist(Trunc.getNode()); in visitUDIVLike()
4951 return DAG.getNode(ISD::SRL, DL, VT, N0, Trunc); in visitUDIVLike()
4960 AddToWorklist(LogBase2.getNode()); in visitUDIVLike()
4964 AddToWorklist(Trunc.getNode()); in visitUDIVLike()
4965 SDValue Add = DAG.getNode(ISD::ADD, DL, ADDVT, N1.getOperand(1), Trunc); in visitUDIVLike()
4966 AddToWorklist(Add.getNode()); in visitUDIVLike()
4967 return DAG.getNode(ISD::SRL, DL, VT, N0, Add); in visitUDIVLike()
5026 return DAG.getNode(ISD::UREM, DL, VT, N0, N1); in visitREM()
5031 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N1, NegOne); in visitREM()
5032 AddToWorklist(Add.getNode()); in visitREM()
5033 return DAG.getNode(ISD::AND, DL, VT, N0, Add); in visitREM()
5042 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N1, NegOne); in visitREM()
5043 AddToWorklist(Add.getNode()); in visitREM()
5044 return DAG.getNode(ISD::AND, DL, VT, N0, Add); in visitREM()
5066 if (OptimizedDiv.getNode() && OptimizedDiv.getNode() != N) { in visitREM()
5072 SDValue Mul = DAG.getNode(ISD::MUL, DL, VT, OptimizedDiv, N1); in visitREM()
5073 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, Mul); in visitREM()
5074 AddToWorklist(OptimizedDiv.getNode()); in visitREM()
5075 AddToWorklist(Mul.getNode()); in visitREM()
5100 return DAG.getNode(ISD::MULHS, DL, N->getVTList(), N1, N0); in visitMULHS()
5108 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitMULHS()
5118 return DAG.getNode(ISD::SRA, DL, N0.getValueType(), N0, in visitMULHS()
5134 N0 = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N0); in visitMULHS()
5135 N1 = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N1); in visitMULHS()
5136 N1 = DAG.getNode(ISD::MUL, DL, NewVT, N0, N1); in visitMULHS()
5137 N1 = DAG.getNode(ISD::SRL, DL, NewVT, N1, in visitMULHS()
5140 return DAG.getNode(ISD::TRUNCATE, DL, VT, N1); in visitMULHS()
5160 return DAG.getNode(ISD::MULHU, DL, N->getVTList(), N1, N0); in visitMULHU()
5168 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitMULHU()
5189 SDValue SRLAmt = DAG.getNode( in visitMULHU()
5193 return DAG.getNode(ISD::SRL, DL, VT, N0, Trunc); in visitMULHU()
5205 N0 = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N0); in visitMULHU()
5206 N1 = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N1); in visitMULHU()
5207 N1 = DAG.getNode(ISD::MUL, DL, NewVT, N0, N1); in visitMULHU()
5208 N1 = DAG.getNode(ISD::SRL, DL, NewVT, N1, in visitMULHU()
5211 return DAG.getNode(ISD::TRUNCATE, DL, VT, N1); in visitMULHU()
5238 return DAG.getNode(Opcode, DL, N->getVTList(), N1, N0); in visitAVG()
5245 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) { in visitAVG()
5247 return DAG.getNode(ISD::SRA, DL, VT, N0, DAG.getConstant(1, DL, VT)); in visitAVG()
5249 return DAG.getNode(ISD::SRL, DL, VT, N0, DAG.getConstant(1, DL, VT)); in visitAVG()
5282 return DAG.getNode(Opcode, DL, N->getVTList(), N1, N0); in visitABD()
5290 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) { in visitABD()
5292 return DAG.getNode(ISD::ABS, DL, VT, N0); in visitABD()
5305 return DAG.getNode(ISD::ABDU, DL, VT, N1, N0); in visitABD()
5319 SDValue Res = DAG.getNode(LoOp, SDLoc(N), N->getValueType(0), N->ops()); in SimplifyNodeWithTwoResults()
5327 SDValue Res = DAG.getNode(HiOp, SDLoc(N), N->getValueType(1), N->ops()); in SimplifyNodeWithTwoResults()
5337 SDValue Lo = DAG.getNode(LoOp, SDLoc(N), N->getValueType(0), N->ops()); in SimplifyNodeWithTwoResults()
5338 AddToWorklist(Lo.getNode()); in SimplifyNodeWithTwoResults()
5339 SDValue LoOpt = combine(Lo.getNode()); in SimplifyNodeWithTwoResults()
5340 if (LoOpt.getNode() && LoOpt.getNode() != Lo.getNode() && in SimplifyNodeWithTwoResults()
5347 SDValue Hi = DAG.getNode(HiOp, SDLoc(N), N->getValueType(1), N->ops()); in SimplifyNodeWithTwoResults()
5348 AddToWorklist(Hi.getNode()); in SimplifyNodeWithTwoResults()
5349 SDValue HiOpt = combine(Hi.getNode()); in SimplifyNodeWithTwoResults()
5350 if (HiOpt.getNode() && HiOpt != Hi && in SimplifyNodeWithTwoResults()
5370 return DAG.getNode(ISD::SMUL_LOHI, DL, N->getVTList(), N0, N1); in visitSMUL_LOHI()
5375 return DAG.getNode(ISD::SMUL_LOHI, DL, N->getVTList(), N1, N0); in visitSMUL_LOHI()
5384 SDValue Lo = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N0); in visitSMUL_LOHI()
5385 SDValue Hi = DAG.getNode(ISD::SIGN_EXTEND, DL, NewVT, N1); in visitSMUL_LOHI()
5386 Lo = DAG.getNode(ISD::MUL, DL, NewVT, Lo, Hi); in visitSMUL_LOHI()
5388 Hi = DAG.getNode(ISD::SRL, DL, NewVT, Lo, in visitSMUL_LOHI()
5391 Hi = DAG.getNode(ISD::TRUNCATE, DL, VT, Hi); in visitSMUL_LOHI()
5393 Lo = DAG.getNode(ISD::TRUNCATE, DL, VT, Lo); in visitSMUL_LOHI()
5412 return DAG.getNode(ISD::UMUL_LOHI, DL, N->getVTList(), N0, N1); in visitUMUL_LOHI()
5417 return DAG.getNode(ISD::UMUL_LOHI, DL, N->getVTList(), N1, N0); in visitUMUL_LOHI()
5438 SDValue Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N0); in visitUMUL_LOHI()
5439 SDValue Hi = DAG.getNode(ISD::ZERO_EXTEND, DL, NewVT, N1); in visitUMUL_LOHI()
5440 Lo = DAG.getNode(ISD::MUL, DL, NewVT, Lo, Hi); in visitUMUL_LOHI()
5442 Hi = DAG.getNode(ISD::SRL, DL, NewVT, Lo, in visitUMUL_LOHI()
5445 Hi = DAG.getNode(ISD::TRUNCATE, DL, VT, Hi); in visitUMUL_LOHI()
5447 Lo = DAG.getNode(ISD::TRUNCATE, DL, VT, Lo); in visitUMUL_LOHI()
5482 return DAG.getNode(N->getOpcode(), DL, N->getVTList(), N1, N0); in visitMULO()
5493 return DAG.getNode(IsSigned ? ISD::SADDO : ISD::UADDO, DL, in visitMULO()
5498 SDValue And = DAG.getNode(ISD::AND, DL, VT, N0, N1); in visitMULO()
5506 return CombineTo(N, DAG.getNode(ISD::MUL, DL, VT, N0, N1), in visitMULO()
5637 SDValue Sat = DAG.getNode(NewOpc, DL, NewVT, Fp.getOperand(0), in PerformMinMaxFpToSatCombine()
5673 DAG.getNode(ISD::FP_TO_UINT_SAT, SDLoc(N0), NewVT, N0.getOperand(0), in PerformUMinFpToSatCombine()
5696 return DAG.getNode(Opcode, DL, VT, N1, N0); in visitIMINMAX()
5717 return DAG.getNode(AltOpcode, DL, VT, N0, N1); in visitIMINMAX()
5798 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5800 return DAG.getNode(HandOpcode, DL, VT, Logic, N0.getOperand(1)); in hoistLogicOpWithSameOpcodeHands()
5801 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5822 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5823 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5834 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5835 return DAG.getNode(HandOpcode, DL, VT, Logic, N0.getOperand(1)); in hoistLogicOpWithSameOpcodeHands()
5843 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5844 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5857 SDValue Logic0 = DAG.getNode(LogicOpcode, DL, VT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5858 SDValue Logic1 = DAG.getNode(LogicOpcode, DL, VT, X1, Y1); in hoistLogicOpWithSameOpcodeHands()
5859 return DAG.getNode(HandOpcode, DL, VT, Logic0, Logic1, S); in hoistLogicOpWithSameOpcodeHands()
5875 SDValue Logic = DAG.getNode(LogicOpcode, DL, XVT, X, Y); in hoistLogicOpWithSameOpcodeHands()
5876 return DAG.getNode(HandOpcode, DL, VT, Logic); in hoistLogicOpWithSameOpcodeHands()
5913 if (N0.getOperand(1) == N1.getOperand(1) && ShOp.getNode()) { in hoistLogicOpWithSameOpcodeHands()
5914 SDValue Logic = DAG.getNode(LogicOpcode, DL, VT, in hoistLogicOpWithSameOpcodeHands()
5926 if (N0.getOperand(0) == N1.getOperand(0) && ShOp.getNode()) { in hoistLogicOpWithSameOpcodeHands()
5927 SDValue Logic = DAG.getNode(LogicOpcode, DL, VT, N0.getOperand(1), in hoistLogicOpWithSameOpcodeHands()
5982 SDValue Or = DAG.getNode(ISD::OR, SDLoc(N0), OpVT, LL, RL); in foldLogicOfSetCCs()
5983 AddToWorklist(Or.getNode()); in foldLogicOfSetCCs()
6001 SDValue And = DAG.getNode(ISD::AND, SDLoc(N0), OpVT, LL, RL); in foldLogicOfSetCCs()
6002 AddToWorklist(And.getNode()); in foldLogicOfSetCCs()
6015 SDValue Add = DAG.getNode(ISD::ADD, SDLoc(N0), OpVT, LL, One); in foldLogicOfSetCCs()
6016 AddToWorklist(Add.getNode()); in foldLogicOfSetCCs()
6027 SDValue XorL = DAG.getNode(ISD::XOR, SDLoc(N0), OpVT, LL, LR); in foldLogicOfSetCCs()
6028 SDValue XorR = DAG.getNode(ISD::XOR, SDLoc(N1), OpVT, RL, RR); in foldLogicOfSetCCs()
6029 SDValue Or = DAG.getNode(ISD::OR, DL, OpVT, XorL, XorR); in foldLogicOfSetCCs()
6048 SDValue Max = DAG.getNode(ISD::UMAX, DL, OpVT, LR, RR); in foldLogicOfSetCCs()
6049 SDValue Min = DAG.getNode(ISD::UMIN, DL, OpVT, LR, RR); in foldLogicOfSetCCs()
6050 SDValue Offset = DAG.getNode(ISD::SUB, DL, OpVT, LL, Min); in foldLogicOfSetCCs()
6051 SDValue Diff = DAG.getNode(ISD::SUB, DL, OpVT, Max, Min); in foldLogicOfSetCCs()
6053 SDValue And = DAG.getNode(ISD::AND, DL, OpVT, Offset, Mask); in foldLogicOfSetCCs()
6162 LogicOp, LHS.getNode(), RHS.getNode()); in foldAndOrOfSETCC()
6257 DAG.getNode(NewOpcode, DL, OpVT, Operand1, Operand2); in foldAndOrOfSETCC()
6282 SDValue AbsOp = DAG.getNode(ISD::ABS, DL, OpVT, LHS0); in foldAndOrOfSETCC()
6283 return DAG.getNode(ISD::SETCC, DL, VT, AbsOp, in foldAndOrOfSETCC()
6311 SDValue AndOp = DAG.getNode(ISD::AND, DL, OpVT, NotOp, in foldAndOrOfSETCC()
6313 return DAG.getNode(ISD::SETCC, DL, VT, AndOp, in foldAndOrOfSETCC()
6317 SDValue AddOp = DAG.getNode(ISD::ADD, DL, OpVT, LHS0, in foldAndOrOfSETCC()
6319 SDValue AndOp = DAG.getNode(ISD::AND, DL, OpVT, AddOp, in foldAndOrOfSETCC()
6321 return DAG.getNode(ISD::SETCC, DL, VT, AndOp, in foldAndOrOfSETCC()
6355 return DAG.getNode(ISD::AND, DL, OpVT, CondMask, T.getOperand(0)); in combineSelectAsExtAnd()
6398 DAG.getNode(ISD::ADD, DL0, VT, in visitANDLike()
6400 CombineTo(N0.getNode(), NewAdd); in visitANDLike()
6597 if (!SearchForAndLoads(Op.getNode(), Loads, NodesWithConsts, Mask, in SearchForAndLoads()
6608 NodeToMask = Op.getNode(); in SearchForAndLoads()
6653 SDValue And = DAG.getNode(ISD::AND, SDLoc(FixupNode), in BackwardsPropagateMask()
6658 DAG.UpdateNodeOperands(And.getNode(), SDValue(FixupNode, 0), MaskOp); in BackwardsPropagateMask()
6668 DAG.getNode(ISD::AND, SDLoc(Op0), Op0.getValueType(), Op0, MaskOp); in BackwardsPropagateMask()
6672 DAG.getNode(ISD::AND, SDLoc(Op1), Op1.getValueType(), Op1, MaskOp); in BackwardsPropagateMask()
6683 SDValue And = DAG.getNode(ISD::AND, SDLoc(Load), Load->getValueType(0), in BackwardsPropagateMask()
6688 DAG.UpdateNodeOperands(And.getNode(), SDValue(Load, 0), MaskOp), 0); in BackwardsPropagateMask()
6689 SDValue NewLoad = reduceLoadWidth(And.getNode()); in BackwardsPropagateMask()
6694 DAG.ReplaceAllUsesWith(N, N->getOperand(0).getNode()); in BackwardsPropagateMask()
6747 SDValue T0 = DAG.getNode(InnerShift, DL, VT, X, Y); in unfoldExtremeBitClearingToShifts()
6749 SDValue T1 = DAG.getNode(OuterShift, DL, VT, T0, Y); in unfoldExtremeBitClearingToShifts()
6823 SDValue NewAnd = DAG.getNode(ISD::AND, DL, SrcVT, X, Mask); in combineShiftAnd1ToBitTest()
6859 return DAG.getNode(ISD::USUBSAT, DL, VT, N0.getOperand(0), SignMask); in foldAndToUsubsat()
6903 SDValue LogicX = DAG.getNode(LogicOpcode, DL, VT, X0, X1); in foldLogicOfShifts()
6904 SDValue NewShift = DAG.getNode(ShiftOpcode, DL, VT, LogicX, Y); in foldLogicOfShifts()
6905 return DAG.getNode(LogicOpcode, DL, VT, NewShift, Z); in foldLogicOfShifts()
6942 return DAG.getNode(LogicOpcode, DL, VT, CombinedShifts, W); in foldLogicTreeOfShifts()
6961 return DAG.getNode(ISD::AND, SDLoc(N), VT, N1, N0); in visitAND()
6973 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitAND()
6979 if (ISD::isConstantSplatVectorAllOnes(N1.getNode())) in visitAND()
7053 return DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N), VT, N0Op0); in visitAND()
7061 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, in visitAND()
7062 DAG.getNode(ISD::AND, DL, SrcVT, N0Op0, in visitAND()
7078 DAG.getNode(ISD::AND, DL, VT, N1, in visitAND()
7079 DAG.getNode(ExtOpc, DL, VT, N0Op0.getOperand(1))); in visitAND()
7080 return DAG.getNode(ISD::AND, DL, VT, in visitAND()
7081 DAG.getNode(ExtOpc, DL, VT, N0Op0.getOperand(0)), in visitAND()
7165 CombineTo(N, (N0.getNode() == Load) ? NewLoad : N0); in visitAND()
7208 DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N), ExtVT, Extendee); in visitAND()
7210 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), VT, ZeroExtExtendee, in visitAND()
7221 isConstantSplatVectorMaskForType(N1.getNode(), ScalarVT) && in visitAND()
7231 AddToWorklist(ZExtLoad.getNode()); in visitAND()
7280 return DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N), VT, SubRHS.getOperand(0)); in visitAND()
7291 if (ISD::isUNINDEXEDLoad(N0.getNode()) && in visitAND()
7292 (ISD::isEXTLoad(N0.getNode()) || in visitAND()
7293 (ISD::isSEXTLoad(N0.getNode()) && N0.hasOneUse()))) { in visitAND()
7308 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitAND()
7315 if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0), in visitAND()
7349 return DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N), VT, N0.getOperand(0)); in visitAND()
7471 SDValue Res = DAG.getNode(ISD::BSWAP, SDLoc(N), VT, N00); in MatchBSwapHWordLow()
7474 Res = DAG.getNode(ISD::SRL, DL, VT, Res, in MatchBSwapHWordLow()
7567 Parts[MaskByteOffset] = N0.getOperand(0).getNode(); in isBSwapHWordElement()
7581 Parts[0] = Parts[1] = N.getOperand(0).getOperand(0).getNode(); in isBSwapHWordPair()
7625 SDValue BSwap = DAG.getNode(ISD::BSWAP, DL, VT, Shift0.getOperand(0)); in matchBSwapHWordOrAndAnd()
7627 return DAG.getNode(ISD::ROTR, DL, VT, BSwap, ShAmt); in matchBSwapHWordOrAndAnd()
7684 SDValue BSwap = DAG.getNode(ISD::BSWAP, DL, VT, in MatchBSwapHWord()
7691 return DAG.getNode(ISD::ROTL, DL, VT, BSwap, ShAmt); in MatchBSwapHWord()
7693 return DAG.getNode(ISD::ROTR, DL, VT, BSwap, ShAmt); in MatchBSwapHWord()
7694 return DAG.getNode(ISD::OR, DL, VT, in MatchBSwapHWord()
7695 DAG.getNode(ISD::SHL, DL, VT, BSwap, ShAmt), in MatchBSwapHWord()
7696 DAG.getNode(ISD::SRL, DL, VT, BSwap, ShAmt)); in MatchBSwapHWord()
7729 SDValue X = DAG.getNode(ISD::OR, SDLoc(N0), VT, in visitORLike()
7731 return DAG.getNode(ISD::AND, DL, VT, X, in visitORLike()
7744 SDValue X = DAG.getNode(ISD::OR, SDLoc(N0), VT, in visitORLike()
7746 return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), X); in visitORLike()
7778 return DAG.getNode(ISD::OR, SDLoc(N), VT, in visitORCommutative()
7786 return DAG.getNode(ISD::OR, SDLoc(N), VT, in visitORCommutative()
7797 return DAG.getNode(ISD::OR, SDLoc(N), VT, N01, N1); in visitORCommutative()
7799 return DAG.getNode(ISD::OR, SDLoc(N), VT, N00, N1); in visitORCommutative()
7805 return DAG.getNode(ISD::OR, SDLoc(N), VT, N00, N01); in visitORCommutative()
7849 return DAG.getNode(ISD::OR, SDLoc(N), VT, N1, N0); in visitOR()
7857 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitOR()
7861 if (ISD::isConstantSplatVectorAllOnes(N1.getNode())) in visitOR()
7870 bool ZeroN00 = ISD::isBuildVectorAllZeros(N0.getOperand(0).getNode()); in visitOR()
7871 bool ZeroN01 = ISD::isBuildVectorAllZeros(N0.getOperand(1).getNode()); in visitOR()
7872 bool ZeroN10 = ISD::isBuildVectorAllZeros(N1.getOperand(0).getNode()); in visitOR()
7873 bool ZeroN11 = ISD::isBuildVectorAllZeros(N1.getOperand(1).getNode()); in visitOR()
7973 SDValue IOR = DAG.getNode(ISD::OR, SDLoc(N0), VT, N0.getOperand(0), N1); in visitOR()
7974 AddToWorklist(IOR.getNode()); in visitOR()
7975 return DAG.getNode(ISD::AND, SDLoc(N), VT, COR, IOR); in visitOR()
8083 return DAG.getNode(ISD::SHL, DL, ShiftedVT, OppShiftLHS, in extractShiftForRotate()
8163 return DAG.getNode(Opcode, DL, ResVT, OppShiftLHS, NewShiftNode); in extractShiftForRotate()
8314 return DAG.getNode(HasPos ? PosOpcode : NegOpcode, DL, VT, Shifted, in MatchRotatePosNeg()
8343 return DAG.getNode(HasPos ? PosOpcode : NegOpcode, DL, VT, N0, N1, in MatchFunnelPosNeg()
8364 return DAG.getNode(ISD::FSHL, DL, VT, N0, N1.getOperand(0), Pos); in MatchFunnelPosNeg()
8373 return DAG.getNode(ISD::FSHR, DL, VT, N0.getOperand(0), N1, Neg); in MatchFunnelPosNeg()
8383 return DAG.getNode(ISD::FSHR, DL, VT, N0.getOperand(0), N1, Neg); in MatchFunnelPosNeg()
8422 return DAG.getNode(ISD::TRUNCATE, SDLoc(LHS), LHS.getValueType(), Rot); in MatchRotate()
8491 if (LHSMask.getNode() || RHSMask.getNode()) { in MatchRotate()
8495 if (LHSMask.getNode()) { in MatchRotate()
8496 SDValue RHSBits = DAG.getNode(ISD::SRL, DL, VT, AllOnes, RHSShiftAmt); in MatchRotate()
8497 Mask = DAG.getNode(ISD::AND, DL, VT, Mask, in MatchRotate()
8498 DAG.getNode(ISD::OR, DL, VT, LHSMask, RHSBits)); in MatchRotate()
8500 if (RHSMask.getNode()) { in MatchRotate()
8501 SDValue LHSBits = DAG.getNode(ISD::SHL, DL, VT, AllOnes, LHSShiftAmt); in MatchRotate()
8502 Mask = DAG.getNode(ISD::AND, DL, VT, Mask, in MatchRotate()
8503 DAG.getNode(ISD::OR, DL, VT, RHSMask, LHSBits)); in MatchRotate()
8506 Res = DAG.getNode(ISD::AND, DL, VT, Res, Mask); in MatchRotate()
8539 SDValue RotX = DAG.getNode(ISD::ROTL, DL, VT, X, LHSShiftAmt); in MatchRotate()
8540 SDValue ShlY = DAG.getNode(ISD::SHL, DL, VT, Y, LHSShiftAmt); in MatchRotate()
8541 Res = DAG.getNode(ISD::OR, DL, VT, RotX, ShlY); in MatchRotate()
8544 SDValue RotX = DAG.getNode(ISD::ROTL, DL, VT, X, LHSShiftAmt); in MatchRotate()
8545 SDValue SrlY = DAG.getNode(ISD::SRL, DL, VT, Y, RHSShiftAmt); in MatchRotate()
8546 Res = DAG.getNode(ISD::OR, DL, VT, RotX, SrlY); in MatchRotate()
8566 Res = DAG.getNode(UseROTL ? ISD::ROTL : ISD::ROTR, DL, VT, LHSShiftArg, in MatchRotate()
8570 Res = DAG.getNode(UseFSHL ? ISD::FSHL : ISD::FSHR, DL, VT, LHSShiftArg, in MatchRotate()
8584 if (LHSMask.getNode() || RHSMask.getNode()) in MatchRotate()
8785 auto L = cast<LoadSDNode>(Op.getNode()); in calculateByteProvider()
9038 SourceValue = DAG.getNode(ISD::TRUNCATE, DL, WideVT, SourceValue); in mergeTruncStores()
9045 SourceValue = DAG.getNode(ISD::BSWAP, DL, WideVT, SourceValue); in mergeTruncStores()
9049 SourceValue = DAG.getNode(ISD::ROTR, DL, WideVT, SourceValue, RotAmt); in mergeTruncStores()
9057 DAG.ReplaceAllUsesWith(N, NewStore.getNode()); in mergeTruncStores()
9268 ? DAG.getNode(ISD::SHL, SDLoc(N), VT, NewLoad, in MatchLoadCombine()
9272 return DAG.getNode(ISD::BSWAP, SDLoc(N), VT, ShiftedLoad); in MatchLoadCombine()
9333 if (isa<ConstantSDNode>(M.getNode())) in unfoldMaskedMerge()
9348 SDValue LHS = DAG.getNode(ISD::AND, DL, VT, NotX, M); in unfoldMaskedMerge()
9350 SDValue RHS = DAG.getNode(ISD::OR, DL, VT, M, Y); in unfoldMaskedMerge()
9351 return DAG.getNode(ISD::AND, DL, VT, NotLHS, RHS); in unfoldMaskedMerge()
9360 SDValue LHS = DAG.getNode(ISD::OR, DL, VT, X, NotM); in unfoldMaskedMerge()
9362 SDValue RHS = DAG.getNode(ISD::AND, DL, VT, NotM, NotY); in unfoldMaskedMerge()
9364 return DAG.getNode(ISD::AND, DL, VT, LHS, NotRHS); in unfoldMaskedMerge()
9367 SDValue LHS = DAG.getNode(ISD::AND, DL, VT, X, M); in unfoldMaskedMerge()
9369 SDValue RHS = DAG.getNode(ISD::AND, DL, VT, Y, NotM); in unfoldMaskedMerge()
9371 return DAG.getNode(ISD::OR, DL, VT, LHS, RHS); in unfoldMaskedMerge()
9397 return DAG.getNode(ISD::XOR, DL, VT, N1, N0); in visitXOR()
9405 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) in visitXOR()
9428 return DAG.getNode(ISD::OR, DL, VT, N0, N1); in visitXOR()
9464 recursivelyDeleteUnusedNodes(N0.getNode()); in visitXOR()
9478 V = DAG.getNode(ISD::XOR, DL0, V.getValueType(), V, in visitXOR()
9480 AddToWorklist(V.getNode()); in visitXOR()
9481 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, V); in visitXOR()
9490 N00 = DAG.getNode(ISD::XOR, SDLoc(N00), VT, N00, N1); // N00 = ~N00 in visitXOR()
9491 N01 = DAG.getNode(ISD::XOR, SDLoc(N01), VT, N01, N1); // N01 = ~N01 in visitXOR()
9492 AddToWorklist(N00.getNode()); AddToWorklist(N01.getNode()); in visitXOR()
9493 return DAG.getNode(NewOpcode, DL, VT, N00, N01); in visitXOR()
9502 N00 = DAG.getNode(ISD::XOR, SDLoc(N00), VT, N00, N1); // N00 = ~N00 in visitXOR()
9503 N01 = DAG.getNode(ISD::XOR, SDLoc(N01), VT, N01, N1); // N01 = ~N01 in visitXOR()
9504 AddToWorklist(N00.getNode()); AddToWorklist(N01.getNode()); in visitXOR()
9505 return DAG.getNode(NewOpcode, DL, VT, N00, N01); in visitXOR()
9514 return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), in visitXOR()
9528 AddToWorklist(NotX.getNode()); in visitXOR()
9529 return DAG.getNode(ISD::AND, DL, VT, NotX, N1); in visitXOR()
9542 return DAG.getNode(ISD::ABS, DL, VT, S0); in visitXOR()
9570 return DAG.getNode(ISD::ROTL, DL, VT, DAG.getConstant(~1, DL, VT), in visitXOR()
9668 SDValue NewShift1 = DAG.getNode(ShiftOpcode, DL, VT, X, ShiftSumC); in combineShiftOfShiftedLogic()
9669 SDValue NewShift2 = DAG.getNode(ShiftOpcode, DL, VT, Y, C1); in combineShiftOfShiftedLogic()
9670 return DAG.getNode(LogicOpcode, DL, VT, NewShift1, NewShift2); in combineShiftOfShiftedLogic()
9734 SDValue NewShift = DAG.getNode(N->getOpcode(), DL, VT, LHS.getOperand(0), in visitShiftByConstant()
9736 return DAG.getNode(LHS.getOpcode(), DL, VT, NewShift, NewRHS); in visitShiftByConstant()
9754 SDValue Trunc00 = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, N00); in distributeTruncateThroughAnd()
9755 SDValue Trunc01 = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, N01); in distributeTruncateThroughAnd()
9756 AddToWorklist(Trunc00.getNode()); in distributeTruncateThroughAnd()
9757 AddToWorklist(Trunc01.getNode()); in distributeTruncateThroughAnd()
9758 return DAG.getNode(ISD::AND, DL, TruncVT, Trunc00, Trunc01); in distributeTruncateThroughAnd()
9794 return DAG.getNode(N->getOpcode(), dl, VT, N0, Amt); in visitRotate()
9801 return DAG.getNode(ISD::BSWAP, dl, VT, N0); in visitRotate()
9810 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitRotate()
9811 return DAG.getNode(N->getOpcode(), dl, VT, N0, NewOp1); in visitRotate()
9837 return DAG.getNode(N->getOpcode(), dl, VT, N0->getOperand(0), in visitRotate()
9878 return DAG.getNode(ISD::AND, SDLoc(N), VT, N00, C); in visitSHL()
9894 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitSHL()
9895 return DAG.getNode(ISD::SHL, SDLoc(N), VT, N0, NewOp1); in visitSHL()
9919 SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1)); in visitSHL()
9920 return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Sum); in visitSHL()
9963 SDValue Ext = DAG.getNode(N0.getOpcode(), DL, VT, N0Op0.getOperand(0)); in visitSHL()
9965 Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, Sum, N1); in visitSHL()
9966 return DAG.getNode(ISD::SHL, DL, VT, Ext, Sum); in visitSHL()
9990 NewSHL = DAG.getNode(ISD::SHL, DL, N0Op0.getValueType(), N0Op0, NewSHL); in visitSHL()
9991 AddToWorklist(NewSHL.getNode()); in visitSHL()
9992 return DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N0), VT, NewSHL); in visitSHL()
10014 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01); in visitSHL()
10015 return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10021 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1); in visitSHL()
10022 return DAG.getNode(N0.getOpcode(), DL, VT, N0.getOperand(0), Diff); in visitSHL()
10037 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1); in visitSHL()
10039 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N01); in visitSHL()
10040 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, Diff); in visitSHL()
10041 SDValue Shift = DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10042 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSHL()
10048 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01); in visitSHL()
10050 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N1); in visitSHL()
10051 SDValue Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10052 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSHL()
10062 SDValue HiBitsMask = DAG.getNode(ISD::SHL, DL, VT, AllBits, N1); in visitSHL()
10063 return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), HiBitsMask); in visitSHL()
10075 SDValue Shl0 = DAG.getNode(ISD::SHL, SDLoc(N0), VT, N0.getOperand(0), N1); in visitSHL()
10076 AddToWorklist(Shl0.getNode()); in visitSHL()
10081 return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, Shl0, Shl1, Flags); in visitSHL()
10099 SDValue ExtX = DAG.getNode(N0.getOpcode(), DL, VT, Add.getOperand(0)); in visitSHL()
10100 SDValue ShlX = DAG.getNode(ISD::SHL, DL, VT, ExtX, N1); in visitSHL()
10101 return DAG.getNode(ISD::ADD, DL, VT, ShlX, ShlC); in visitSHL()
10111 return DAG.getNode(ISD::MUL, SDLoc(N), VT, N0.getOperand(0), Shl); in visitSHL()
10132 ISD::isConstantSplatVector(N1.getNode(), ShlVal)) { in visitSHL()
10254 DAG.getNode(MulhOpcode, DL, NarrowVT, LeftOp.getOperand(0), MulhRightOp); in combineShiftToMULH()
10276 return DAG.getNode(N0.getOpcode(), DL, VT, OldLHS.getOperand(0), in foldBitOrderCrossLogicOp()
10281 SDValue NewBitReorder = DAG.getNode(Opcode, DL, VT, OldRHS); in foldBitOrderCrossLogicOp()
10282 return DAG.getNode(N0.getOpcode(), DL, VT, OldLHS.getOperand(0), in foldBitOrderCrossLogicOp()
10287 SDValue NewBitReorder = DAG.getNode(Opcode, DL, VT, OldLHS); in foldBitOrderCrossLogicOp()
10288 return DAG.getNode(N0.getOpcode(), DL, VT, NewBitReorder, in foldBitOrderCrossLogicOp()
10353 return DAG.getNode(ISD::SRA, DL, VT, N0.getOperand(0), ShiftValue); in visitSRA()
10387 SDValue Shift = DAG.getNode(ISD::SRL, DL, VT, in visitSRA()
10389 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, in visitSRA()
10391 return DAG.getNode(ISD::SIGN_EXTEND, DL, in visitSRA()
10433 Add = DAG.getNode(ISD::ADD, DL, TruncVT, Trunc, ShiftC); in visitSRA()
10435 Add = DAG.getNode(ISD::SUB, DL, TruncVT, ShiftC, Trunc); in visitSRA()
10445 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitSRA()
10446 return DAG.getNode(ISD::SRA, SDLoc(N), VT, N0, NewOp1); in visitSRA()
10466 Amt = DAG.getNode(ISD::ADD, DL, LargeShiftVT, Amt, in visitSRA()
10469 DAG.getNode(ISD::SRA, DL, LargeVT, N0Op0.getOperand(0), Amt); in visitSRA()
10470 return DAG.getNode(ISD::TRUNCATE, DL, VT, SRA); in visitSRA()
10481 return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0, N1); in visitSRA()
10548 SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1)); in visitSRL()
10549 return DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Sum); in visitSRL()
10570 SDValue NewShift = DAG.getNode(ISD::SRL, DL, InnerShiftVT, in visitSRL()
10572 return DAG.getNode(ISD::TRUNCATE, DL, VT, NewShift); in visitSRL()
10580 SDValue NewShift = DAG.getNode(ISD::SRL, DL, InnerShiftVT, in visitSRL()
10585 SDValue And = DAG.getNode(ISD::AND, DL, InnerShiftVT, NewShift, Mask); in visitSRL()
10586 return DAG.getNode(ISD::TRUNCATE, DL, VT, And); in visitSRL()
10608 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1); in visitSRL()
10610 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, N01); in visitSRL()
10611 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, Diff); in visitSRL()
10612 SDValue Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSRL()
10613 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSRL()
10620 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01); in visitSRL()
10622 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, N1); in visitSRL()
10623 SDValue Shift = DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Diff); in visitSRL()
10624 return DAG.getNode(ISD::AND, DL, VT, Shift, Mask); in visitSRL()
10640 SDValue SmallShift = DAG.getNode(ISD::SRL, DL0, SmallVT, in visitSRL()
10644 AddToWorklist(SmallShift.getNode()); in visitSRL()
10647 return DAG.getNode(ISD::AND, DL, VT, in visitSRL()
10648 DAG.getNode(ISD::ANY_EXTEND, DL, VT, SmallShift), in visitSRL()
10657 return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0.getOperand(0), N1); in visitSRL()
10687 Op = DAG.getNode(ISD::SRL, DL, VT, Op, in visitSRL()
10690 AddToWorklist(Op.getNode()); in visitSRL()
10694 return DAG.getNode(ISD::XOR, DL, VT, in visitSRL()
10702 if (SDValue NewOp1 = distributeTruncateThroughAnd(N1.getNode())) in visitSRL()
10703 return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0, NewOp1); in visitSRL()
10789 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N0, N1, in visitFunnelShift()
10802 return DAG.getNode(ISD::SRL, SDLoc(N), VT, N1, in visitFunnelShift()
10806 return DAG.getNode(ISD::SHL, SDLoc(N), VT, N0, in visitFunnelShift()
10835 AddToWorklist(NewPtr.getNode()); in visitFunnelShift()
10857 return DAG.getNode(ISD::SRL, SDLoc(N), VT, N1, N2); in visitFunnelShift()
10859 return DAG.getNode(ISD::SHL, SDLoc(N), VT, N0, N2); in visitFunnelShift()
10868 return DAG.getNode(RotOpc, SDLoc(N), VT, N0, N2); in visitFunnelShift()
10896 return DAG.getNode(ISD::SHL, SDLoc(N), VT, N0, N1); in visitSHLSAT()
10902 return DAG.getNode(ISD::SHL, SDLoc(N), VT, N0, N1); in visitSHLSAT()
10916 N = N->getOperand(0).getNode(); in foldABSToABD()
10942 SDValue ABD = DAG.getNode(ISD::ABDS, DL, VT, Op0, Op1); in foldABSToABD()
10963 SDValue ABD = DAG.getNode(ABDOpcode, DL, MaxVT, in foldABSToABD()
10964 DAG.getNode(ISD::TRUNCATE, DL, MaxVT, Op0), in foldABSToABD()
10965 DAG.getNode(ISD::TRUNCATE, DL, MaxVT, Op1)); in foldABSToABD()
10966 ABD = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, ABD); in foldABSToABD()
10973 SDValue ABD = DAG.getNode(ABDOpcode, DL, VT, Op0, Op1); in foldABSToABD()
11005 return DAG.getNode( in visitABS()
11007 DAG.getNode(ISD::ABS, DL, ExtVT, in visitABS()
11008 DAG.getNode(ISD::TRUNCATE, DL, ExtVT, N0.getOperand(0)))); in visitABS()
11032 SDValue BSwap = DAG.getNode(ISD::BSWAP, DL, VT, N0.getOperand(0)); in visitBSWAP()
11033 return DAG.getNode(ISD::BITREVERSE, DL, VT, BSwap); in visitBSWAP()
11049 Res = DAG.getNode(ISD::SHL, DL, VT, Res, in visitBSWAP()
11052 Res = DAG.getNode(ISD::BSWAP, DL, HalfVT, Res); in visitBSWAP()
11066 SDValue NewSwap = DAG.getNode(ISD::BSWAP, DL, VT, N0.getOperand(0)); in visitBSWAP()
11068 return DAG.getNode(InverseShift, DL, VT, NewSwap, N0.getOperand(1)); in visitBSWAP()
11104 return DAG.getNode(ISD::CTLZ_ZERO_UNDEF, DL, VT, N0); in visitCTLZ()
11133 return DAG.getNode(ISD::CTTZ_ZERO_UNDEF, DL, VT, N0); in visitCTTZ()
11192 return DAG.getNode(IEEEOpcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11196 return DAG.getNode(Opcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11207 return DAG.getNode(IEEEOpcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11211 return DAG.getNode(Opcode, DL, VT, LHS, RHS); in combineMinNumMaxNumImpl()
11252 return DAG.getNode(ISD::FNEG, DL, VT, Combined); in combineMinNumMaxNum()
11284 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, X, ShAmtC); in foldSelectOfConstantsUsingSra()
11285 return DAG.getNode(ISD::OR, DL, VT, Sra, C1); in foldSelectOfConstantsUsingSra()
11291 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, X, ShAmtC); in foldSelectOfConstantsUsingSra()
11292 return DAG.getNode(ISD::AND, DL, VT, Sra, C1); in foldSelectOfConstantsUsingSra()
11349 DAG.getNode(ISD::XOR, DL, CondVT, Cond, DAG.getConstant(1, DL, CondVT)); in foldSelectOfConstants()
11399 return DAG.getNode(ISD::ADD, DL, VT, Cond, N2); in foldSelectOfConstants()
11405 return DAG.getNode(ISD::ADD, DL, VT, Cond, N2); in foldSelectOfConstants()
11413 return DAG.getNode(ISD::SHL, DL, VT, Cond, ShAmtC); in foldSelectOfConstants()
11419 return DAG.getNode(ISD::OR, DL, VT, Cond, N2); in foldSelectOfConstants()
11426 return DAG.getNode(ISD::OR, DL, VT, NotCond, N1); in foldSelectOfConstants()
11447 return DAG.getNode(ISD::OR, SDLoc(N), VT, Cond, F); in foldBoolSelectToLogic()
11452 return DAG.getNode(ISD::AND, SDLoc(N), VT, Cond, T); in foldBoolSelectToLogic()
11457 return DAG.getNode(ISD::OR, SDLoc(N), VT, NotCond, T); in foldBoolSelectToLogic()
11463 return DAG.getNode(ISD::AND, SDLoc(N), VT, NotCond, F); in foldBoolSelectToLogic()
11496 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Cond0, ShiftAmt); in foldVSelectToSignBitSplatMask()
11497 return DAG.getNode(ISD::AND, DL, VT, Sra, N1); in foldVSelectToSignBitSplatMask()
11504 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Cond0, ShiftAmt); in foldVSelectToSignBitSplatMask()
11505 return DAG.getNode(ISD::OR, DL, VT, Sra, N2); in foldVSelectToSignBitSplatMask()
11515 SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Cond0, ShiftAmt); in foldVSelectToSignBitSplatMask()
11517 return DAG.getNode(ISD::AND, DL, VT, Not, N2); in foldVSelectToSignBitSplatMask()
11573 DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Cond1, N1, N2, Flags); in visitSELECT()
11575 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Cond0, in visitSELECT()
11579 recursivelyDeleteUnusedNodes(InnerSelect.getNode()); in visitSELECT()
11585 SDValue InnerSelect = DAG.getNode(ISD::SELECT, DL, N1.getValueType(), in visitSELECT()
11588 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Cond0, N1, in visitSELECT()
11592 recursivelyDeleteUnusedNodes(InnerSelect.getNode()); in visitSELECT()
11603 SDValue And = DAG.getNode(ISD::AND, DL, N0.getValueType(), N0, N1_0); in visitSELECT()
11604 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), And, N1_1, in visitSELECT()
11609 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Combined, N1_1, in visitSELECT()
11622 SDValue Or = DAG.getNode(ISD::OR, DL, N0.getValueType(), N0, N2_0); in visitSELECT()
11623 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Or, N1, in visitSELECT()
11628 return DAG.getNode(ISD::SELECT, DL, N1.getValueType(), Combined, N1, in visitSELECT()
11672 SDValue UAO = DAG.getNode(ISD::UADDO, DL, VTs, Cond0, N2.getOperand(1)); in visitSELECT()
11683 SDValue SelectNode = DAG.getNode(ISD::SELECT_CC, DL, VT, Cond0, Cond1, N1, in visitSELECT()
11733 else if (Cond->getOperand(i).getNode() != BottomHalf) in ConvertSelectToConcatVector()
11745 else if (Cond->getOperand(i).getNode() != TopHalf) in ConvertSelectToConcatVector()
11752 return DAG.getNode( in ConvertSelectToConcatVector()
11773 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
11783 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
11789 BasePtr = DAG.getNode(ISD::ADD, DL, VT, BasePtr, SplatVal); in refineUniformBase()
11838 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitVPSCATTER()
11868 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMSCATTER()
11897 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMSTORE()
11907 ISD::isConstantSplatVectorAllOnes(Mask.getNode())) && in visitMSTORE()
11919 if (ISD::isConstantSplatVectorAllOnes(Mask.getNode()) && MST->isUnindexed() && in visitMSTORE()
12025 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMGATHER()
12051 if (ISD::isConstantSplatVectorAllZeros(Mask.getNode())) in visitMLOAD()
12056 if (ISD::isConstantSplatVectorAllOnes(Mask.getNode()) && MLD->isUnindexed() && in visitMLOAD()
12097 !ISD::isBuildVectorOfConstantSDNodes(N1.getNode()) || in foldVSelectOfConstants()
12098 !ISD::isBuildVectorOfConstantSDNodes(N2.getNode())) in foldVSelectOfConstants()
12130 SDValue ExtendedCond = DAG.getNode(ExtendOpcode, DL, VT, Cond); in foldVSelectOfConstants()
12131 return DAG.getNode(ISD::ADD, DL, VT, ExtendedCond, N2); in foldVSelectOfConstants()
12136 if (ISD::isConstantSplatVector(N1.getNode(), Pow2C) && Pow2C.isPowerOf2() && in foldVSelectOfConstants()
12140 return DAG.getNode(ISD::SHL, DL, VT, ZextCond, ShAmtC); in foldVSelectOfConstants()
12179 bool RHSIsAllZeros = ISD::isBuildVectorAllZeros(RHS.getNode()); in visitVSELECT()
12182 (ISD::isBuildVectorAllOnes(RHS.getNode()) && CC == ISD::SETGT)) && in visitVSELECT()
12184 isAbs = ISD::isBuildVectorAllZeros(N2.getOperand(0).getNode()); in visitVSELECT()
12187 isAbs = ISD::isBuildVectorAllZeros(N1.getOperand(0).getNode()); in visitVSELECT()
12191 return DAG.getNode(ISD::ABS, DL, VT, LHS); in visitVSELECT()
12193 SDValue Shift = DAG.getNode(ISD::SRA, DL, VT, LHS, in visitVSELECT()
12196 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, LHS, Shift); in visitVSELECT()
12197 AddToWorklist(Shift.getNode()); in visitVSELECT()
12198 AddToWorklist(Add.getNode()); in visitVSELECT()
12199 return DAG.getNode(ISD::XOR, DL, VT, Add, Shift); in visitVSELECT()
12240 SDValue WideLHS = DAG.getNode(ExtOpcode, DL, WideVT, LHS); in visitVSELECT()
12241 SDValue WideRHS = DAG.getNode(ExtOpcode, DL, WideVT, RHS); in visitVSELECT()
12265 return DAG.getNode(ABDOpc, DL, VT, LHS, RHS); in visitVSELECT()
12272 return DAG.getNode(ABDOpc, DL, VT, LHS, RHS); in visitVSELECT()
12286 if (ISD::isConstantSplatVectorAllOnes(N1.getNode())) { in visitVSELECT()
12289 } else if (ISD::isConstantSplatVectorAllOnes(N2.getNode())) { in visitVSELECT()
12308 return DAG.getNode(ISD::UADDSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12322 return DAG.getNode(ISD::UADDSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12333 if (ISD::isConstantSplatVectorAllZeros(N1.getNode())) { in visitVSELECT()
12336 } else if (ISD::isConstantSplatVectorAllZeros(N2.getNode())) { in visitVSELECT()
12365 return DAG.getNode(ISD::USUBSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12383 return DAG.getNode(ISD::USUBSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12393 ISD::isConstantSplatVector(OpRHS.getNode(), SplatValue) && in visitVSELECT()
12394 ISD::isConstantSplatVectorAllZeros(CondRHS.getNode()) && in visitVSELECT()
12399 return DAG.getNode(ISD::USUBSAT, DL, VT, OpLHS, OpRHS); in visitVSELECT()
12412 if (ISD::isConstantSplatVectorAllOnes(N0.getNode())) in visitVSELECT()
12415 if (ISD::isConstantSplatVectorAllZeros(N0.getNode())) in visitVSELECT()
12423 ISD::isBuildVectorOfConstantSDNodes(N0.getNode())) { in visitVSELECT()
12461 AddToWorklist(SCC.getNode()); in visitSELECT_CC()
12465 if (auto *SCCC = dyn_cast<ConstantSDNode>(SCC.getNode())) in visitSELECT_CC()
12475 SDValue SelectOp = DAG.getNode( in visitSELECT_CC()
12511 if (NewSetCC.getNode() == N) in visitSETCC()
12602 DAG.getNode(NewShiftOpc, DL, OpVT, ShiftOrRotate.getOperand(0), in visitSETCC()
12614 DAG.getNode(ISD::AND, DL, OpVT, ShiftOrRotate.getOperand(0), in visitSETCC()
12636 return DAG.getNode(ISD::SETCC, SDLoc(N), N->getVTList(), LHS, RHS, Cond); in visitSETCCCARRY()
12712 SDValue Ext1 = DAG.getNode(Opcode, DL, VT, Op1); in tryToFoldExtendSelectLoad()
12713 SDValue Ext2 = DAG.getNode(Opcode, DL, VT, Op2); in tryToFoldExtendSelectLoad()
12737 return DAG.getNode(Opcode, DL, VT, N0); in tryToFoldExtendOfConstant()
12760 DAG.getNode(FoldOpc, DL, VT, Op1), in tryToFoldExtendOfConstant()
12761 DAG.getNode(FoldOpc, DL, VT, Op2)); in tryToFoldExtendOfConstant()
12770 ISD::isBuildVectorOfConstantSDNodes(N0.getNode()))) in tryToFoldExtendOfConstant()
12878 Ops.push_back(DAG.getNode(ExtType, DL, ExtLoad->getValueType(0), SOp)); in ExtendSetCCUses()
12882 CombineTo(SetCC, DAG.getNode(ISD::SETCC, DL, SetCC->getValueType(0), Ops)); in ExtendSetCCUses()
12968 SDValue NewChain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chains); in CombineExtLoad()
12969 SDValue NewValue = DAG.getNode(ISD::CONCAT_VECTORS, DL, DstVT, Loads); in CombineExtLoad()
12972 AddToWorklist(NewChain.getNode()); in CombineExtLoad()
12979 DAG.getNode(ISD::TRUNCATE, SDLoc(N0), N0.getValueType(), NewValue); in CombineExtLoad()
12981 CombineTo(N0.getNode(), Trunc, NewChain); in CombineExtLoad()
13027 if (!ExtendUsesToFormExtLoad(VT, N1.getNode(), N1.getOperand(0), in CombineZExtLogicopShiftLoad()
13037 SDValue Shift = DAG.getNode(N1.getOpcode(), DL1, VT, ExtLoad, in CombineZExtLogicopShiftLoad()
13042 SDValue And = DAG.getNode(N0.getOpcode(), DL0, VT, Shift, in CombineZExtLogicopShiftLoad()
13050 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(Load), in CombineZExtLogicopShiftLoad()
13056 recursivelyDeleteUnusedNodes(N0.getNode()); in CombineZExtLogicopShiftLoad()
13097 CastA = DAG.getNode(CastOpcode, DL, VT, A, Cast->getOperand(1)); in matchVSelectOpSizesWithSetCC()
13098 CastB = DAG.getNode(CastOpcode, DL, VT, B, Cast->getOperand(1)); in matchVSelectOpSizesWithSetCC()
13100 CastA = DAG.getNode(CastOpcode, DL, VT, A); in matchVSelectOpSizesWithSetCC()
13101 CastB = DAG.getNode(CastOpcode, DL, VT, B); in matchVSelectOpSizesWithSetCC()
13103 return DAG.getNode(ISD::VSELECT, DL, VT, SetCC, CastA, CastB); in matchVSelectOpSizesWithSetCC()
13112 SDNode *N0Node = N0.getNode(); in tryToFoldExtOfExtload()
13147 if (!ISD::isNON_EXTLoad(N0.getNode()) || in tryToFoldExtOfLoad()
13148 !ISD::isUNINDEXEDLoad(N0.getNode()) || in tryToFoldExtOfLoad()
13176 DAG.getNode(ISD::TRUNCATE, SDLoc(N0), N0.getValueType(), ExtLoad); in tryToFoldExtOfLoad()
13201 SDValue PassThru = DAG.getNode(ExtOpc, dl, VT, Ld->getPassThru()); in tryToFoldExtOfMaskedLoad()
13206 DAG.ReplaceAllUsesOfValueWith(SDValue(Ld, 1), SDValue(NewLoad.getNode(), 1)); in tryToFoldExtOfMaskedLoad()
13240 return DAG.getNode(ShiftOpcode, DL, VT, NotX, ShiftAmount); in foldExtendedSignBitTest()
13305 if (!(ISD::isNON_EXTLoad(V.getNode()) && in foldSextSetcc()
13306 ISD::isUNINDEXEDLoad(V.getNode()) && in foldSextSetcc()
13317 if (UI.getUse().getResNo() != 0 || User == N0.getNode()) in foldSextSetcc()
13329 SDValue Ext0 = DAG.getNode(ExtOpcode, DL, VT, N00); in foldSextSetcc()
13330 SDValue Ext1 = DAG.getNode(ExtOpcode, DL, VT, N01); in foldSextSetcc()
13390 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, N0.getOperand(0)); in visitSIGN_EXTEND()
13396 return DAG.getNode(ISD::SIGN_EXTEND_VECTOR_INREG, SDLoc(N), VT, in visitSIGN_EXTEND()
13405 SDValue T = DAG.getNode(ISD::TRUNCATE, DL, ExtVT, N00); in visitSIGN_EXTEND()
13406 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, T); in visitSIGN_EXTEND()
13413 if (SDValue NarrowLoad = reduceLoadWidth(N0.getNode())) { in visitSIGN_EXTEND()
13414 SDNode *oye = N0.getOperand(0).getNode(); in visitSIGN_EXTEND()
13415 if (NarrowLoad.getNode() != N0.getNode()) { in visitSIGN_EXTEND()
13416 CombineTo(N0.getNode(), NarrowLoad); in visitSIGN_EXTEND()
13440 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, Op); in visitSIGN_EXTEND()
13445 return DAG.getNode(ISD::TRUNCATE, DL, VT, Op); in visitSIGN_EXTEND()
13452 Op = DAG.getNode(ISD::ANY_EXTEND, SDLoc(N0), VT, Op); in visitSIGN_EXTEND()
13454 Op = DAG.getNode(ISD::TRUNCATE, SDLoc(N0), VT, Op); in visitSIGN_EXTEND()
13455 return DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, VT, Op, in visitSIGN_EXTEND()
13492 bool DoXform = ExtendUsesToFormExtLoad(VT, N0.getNode(), N0.getOperand(0), in visitSIGN_EXTEND()
13500 SDValue And = DAG.getNode(N0.getOpcode(), DL, VT, in visitSIGN_EXTEND()
13509 DAG.getNode(ISD::TRUNCATE, DL, N0.getValueType(), And); in visitSIGN_EXTEND()
13510 CombineTo(N0.getNode(), TruncAnd); in visitSIGN_EXTEND()
13515 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(LN00), in visitSIGN_EXTEND()
13536 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0, Flags); in visitSIGN_EXTEND()
13558 return DAG.getNode(ISD::ADD, DL, VT, Zext, DAG.getAllOnesConstant(DL, VT)); in visitSIGN_EXTEND()
13567 if (SDValue NewXor = visitXOR(N0.getNode())) { in visitSIGN_EXTEND()
13570 if (NewXor.getNode() == N0.getNode()) { in visitSIGN_EXTEND()
13577 return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, NewXor); in visitSIGN_EXTEND()
13580 SDValue Zext = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); in visitSIGN_EXTEND()
13581 return DAG.getNode(ISD::ADD, DL, VT, Zext, DAG.getAllOnesConstant(DL, VT)); in visitSIGN_EXTEND()
13610 return DAG.getNode(ISD::CTPOP, DL, VT, NewZext); in widenCtPop()
13635 DAG.getNode(ISD::SIGN_EXTEND, SDLoc(Abs), LegalVT, Abs.getOperand(0)); in widenAbs()
13636 SDValue NewAbs = DAG.getNode(ISD::ABS, SDLoc(Abs), LegalVT, SExt); in widenAbs()
13659 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); in visitZERO_EXTEND()
13665 return DAG.getNode(ISD::ZERO_EXTEND_VECTOR_INREG, SDLoc(N), VT, in visitZERO_EXTEND()
13683 DAG.salvageDebugInfo(*N0.getNode()); in visitZERO_EXTEND()
13693 if (SDValue NarrowLoad = reduceLoadWidth(N0.getNode())) { in visitZERO_EXTEND()
13694 SDNode *oye = N0.getOperand(0).getNode(); in visitZERO_EXTEND()
13695 if (NarrowLoad.getNode() != N0.getNode()) { in visitZERO_EXTEND()
13696 CombineTo(N0.getNode(), NarrowLoad); in visitZERO_EXTEND()
13713 AddToWorklist(Op.getNode()); in visitZERO_EXTEND()
13723 AddToWorklist(Op.getNode()); in visitZERO_EXTEND()
13742 return DAG.getNode(ISD::AND, DL, VT, in visitZERO_EXTEND()
13786 DoXform = ExtendUsesToFormExtLoad(VT, N0.getNode(), N0.getOperand(0), in visitZERO_EXTEND()
13794 SDValue And = DAG.getNode(N0.getOpcode(), DL, VT, in visitZERO_EXTEND()
13803 DAG.getNode(ISD::TRUNCATE, DL, N0.getValueType(), And); in visitZERO_EXTEND()
13804 CombineTo(N0.getNode(), TruncAnd); in visitZERO_EXTEND()
13809 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SDLoc(LN00), in visitZERO_EXTEND()
13849 SDValue VSetCC = DAG.getNode(ISD::SETCC, DL, VT, N0.getOperand(0), in visitZERO_EXTEND()
13859 DAG.getNode(ISD::SETCC, DL, MatchingVectorType, N0.getOperand(0), in visitZERO_EXTEND()
13873 return DAG.getNode(ISD::ZERO_EXTEND, DL, VT, SCC); in visitZERO_EXTEND()
13895 ShAmt = DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::i32, ShAmt); in visitZERO_EXTEND()
13897 return DAG.getNode(N0.getOpcode(), DL, VT, in visitZERO_EXTEND()
13898 DAG.getNode(ISD::ZERO_EXTEND, DL, VT, ShVal), ShAmt); in visitZERO_EXTEND()
13935 return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0)); in visitANY_EXTEND()
13943 return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0)); in visitANY_EXTEND()
13948 if (SDValue NarrowLoad = reduceLoadWidth(N0.getNode())) { in visitANY_EXTEND()
13949 SDNode *oye = N0.getOperand(0).getNode(); in visitANY_EXTEND()
13950 if (NarrowLoad.getNode() != N0.getNode()) { in visitANY_EXTEND()
13951 CombineTo(N0.getNode(), NarrowLoad); in visitANY_EXTEND()
13971 SDValue Y = DAG.getNode(ISD::ANY_EXTEND, DL, VT, N0.getOperand(1)); in visitANY_EXTEND()
13973 return DAG.getNode(ISD::AND, DL, VT, X, Y); in visitANY_EXTEND()
13985 } else if (ISD::isNON_EXTLoad(N0.getNode()) && in visitANY_EXTEND()
13986 ISD::isUNINDEXEDLoad(N0.getNode()) && in visitANY_EXTEND()
14007 DAG.getNode(ISD::TRUNCATE, SDLoc(N0), N0.getValueType(), ExtLoad); in visitANY_EXTEND()
14017 if (N0.getOpcode() == ISD::LOAD && !ISD::isNON_EXTLoad(N0.getNode()) && in visitANY_EXTEND()
14018 ISD::isUNINDEXEDLoad(N0.getNode()) && N0.hasOneUse()) { in visitANY_EXTEND()
14109 SDValue NewAssert = DAG.getNode(Opcode, DL, BigA.getValueType(), in visitAssertExt()
14111 return DAG.getNode(ISD::TRUNCATE, DL, N->getValueType(0), NewAssert); in visitAssertExt()
14124 SDValue NewAssert = DAG.getNode(Opcode, DL, BigA.getValueType(), in visitAssertExt()
14126 return DAG.getNode(ISD::TRUNCATE, DL, N->getValueType(0), NewAssert); in visitAssertExt()
14163 return DAG.getNode(N0.getOpcode(), DL, N0.getValueType(), LHS, RHS); in visitAssertAlign()
14363 AddToWorklist(NewPtr.getNode()); in reduceLoadWidth()
14393 Result = DAG.getNode(ISD::SHL, DL, VT, in reduceLoadWidth()
14403 Result = DAG.getNode(ISD::SHL, DL, VT, Result, ShiftC); in reduceLoadWidth()
14425 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, N0, N1); in visitSIGN_EXTEND_INREG()
14434 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, N0.getOperand(0), in visitSIGN_EXTEND_INREG()
14447 return DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), VT, N00); in visitSIGN_EXTEND_INREG()
14465 return DAG.getNode(ISD::SIGN_EXTEND_VECTOR_INREG, SDLoc(N), VT, N00); in visitSIGN_EXTEND_INREG()
14474 return DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), VT, N00); in visitSIGN_EXTEND_INREG()
14501 return DAG.getNode(ISD::SRA, SDLoc(N), VT, N0.getOperand(0), in visitSIGN_EXTEND_INREG()
14510 if (ISD::isEXTLoad(N0.getNode()) && in visitSIGN_EXTEND_INREG()
14511 ISD::isUNINDEXEDLoad(N0.getNode()) && in visitSIGN_EXTEND_INREG()
14522 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14523 AddToWorklist(ExtLoad.getNode()); in visitSIGN_EXTEND_INREG()
14528 if (ISD::isZEXTLoad(N0.getNode()) && ISD::isUNINDEXEDLoad(N0.getNode()) && in visitSIGN_EXTEND_INREG()
14539 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14554 CombineTo(N0.getNode(), ExtMaskedLoad, ExtMaskedLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14572 CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1)); in visitSIGN_EXTEND_INREG()
14573 AddToWorklist(ExtLoad.getNode()); in visitSIGN_EXTEND_INREG()
14580 if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0), in visitSIGN_EXTEND_INREG()
14582 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, BSwap, N1); in visitSIGN_EXTEND_INREG()
14599 DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), InnerExtVT, Extendee); in visitSIGN_EXTEND_INREG()
14600 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), VT, SignExtExtendee, in visitSIGN_EXTEND_INREG()
14638 return DAG.getNode(Opcode, SDLoc(N), VT, Src); in foldExtendVectorInregToExtendOfSubvector()
14678 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, N0.getOperand(0)); in visitTRUNCATE()
14690 return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0)); in visitTRUNCATE()
14693 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, N0.getOperand(0)); in visitTRUNCATE()
14707 SDValue TrX = DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, X); in visitTRUNCATE()
14708 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, TrX, ExtVal); in visitTRUNCATE()
14745 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, TrTy, in visitTRUNCATE()
14757 SDValue TruncOp0 = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(1)); in visitTRUNCATE()
14758 SDValue TruncOp1 = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(2)); in visitTRUNCATE()
14759 return DAG.getNode(ISD::SELECT, SDLoc(N), VT, Cond, TruncOp0, TruncOp1); in visitTRUNCATE()
14774 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(0)); in visitTRUNCATE()
14777 AddToWorklist(Amt.getNode()); in visitTRUNCATE()
14779 return DAG.getNode(ISD::SHL, SL, VT, Trunc, Amt); in visitTRUNCATE()
14783 if (SDValue V = foldSubToUSubSat(VT, N0.getNode())) in visitTRUNCATE()
14799 SDValue TruncOp = DAG.getNode(ISD::TRUNCATE, DL, SVT, Op); in visitTRUNCATE()
14812 VT, DL, DAG.getNode(ISD::TRUNCATE, DL, SVT, N0->getOperand(0))); in visitTRUNCATE()
14853 if (N0.hasOneUse() && ISD::isUNINDEXEDLoad(N0.getNode())) { in visitTRUNCATE()
14893 assert(V.getNode() && "The single defined operand is empty!"); in visitTRUNCATE()
14900 SDValue NV = DAG.getNode(ISD::TRUNCATE, SDLoc(V), VTs[i], V); in visitTRUNCATE()
14901 AddToWorklist(NV.getNode()); in visitTRUNCATE()
14904 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Opnds); in visitTRUNCATE()
14921 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, VT, VecSrc, in visitTRUNCATE()
14941 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N0->getOperand(0)), VT, in visitTRUNCATE()
14968 SDValue NarrowL = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
14969 SDValue NarrowR = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(1)); in visitTRUNCATE()
14970 return DAG.getNode(N0.getOpcode(), DL, VT, NarrowL, NarrowR); in visitTRUNCATE()
14985 SDValue X = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0)); in visitTRUNCATE()
14986 SDValue Y = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(1)); in visitTRUNCATE()
14988 return DAG.getNode(N0.getOpcode(), DL, VTs, X, Y, N0.getOperand(2)); in visitTRUNCATE()
15012 return Elt.getNode(); in getBuildPairElt()
15013 return Elt.getOperand(Elt.getResNo()).getNode(); in getBuildPairElt()
15110 SDValue CastOp0 = DAG.getNode(ISD::BITCAST, SDLoc(N), VT, LogicOp0); in foldBitcastedFPLogic()
15111 SDValue FPOp = DAG.getNode(FPOpcode, SDLoc(N), VT, CastOp0); in foldBitcastedFPLogic()
15114 return DAG.getNode(ISD::FNEG, SDLoc(N), VT, FPOp); in foldBitcastedFPLogic()
15140 return ConstantFoldBITCASTofBUILD_VECTOR(N0.getNode(), in visitBITCAST()
15154 if (C.getNode() != N) in visitBITCAST()
15170 (ISD::isBuildVectorOfConstantSDNodes(V.getNode()) && in visitBITCAST()
15174 return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, in visitBITCAST()
15181 if (ISD::isNormalLoad(N0.getNode()) && N0.hasOneUse() && in visitBITCAST()
15224 AddToWorklist(NewConv.getNode()); in visitBITCAST()
15234 AddToWorklist(FlipBit.getNode()); in visitBITCAST()
15238 DAG.getNode(ISD::EXTRACT_ELEMENT, SDLoc(NewConv), MVT::i64, NewConv, in visitBITCAST()
15241 AddToWorklist(Hi.getNode()); in visitBITCAST()
15242 FlipBit = DAG.getNode(ISD::AND, SDLoc(N0), MVT::i64, Hi, SignBit); in visitBITCAST()
15243 AddToWorklist(FlipBit.getNode()); in visitBITCAST()
15246 DAG.getNode(ISD::BUILD_PAIR, SDLoc(N0), VT, FlipBit, FlipBit); in visitBITCAST()
15247 AddToWorklist(FlipBits.getNode()); in visitBITCAST()
15248 return DAG.getNode(ISD::XOR, DL, VT, NewConv, FlipBits); in visitBITCAST()
15252 return DAG.getNode(ISD::XOR, DL, VT, in visitBITCAST()
15255 return DAG.getNode(ISD::AND, DL, VT, in visitBITCAST()
15277 AddToWorklist(X.getNode()); in visitBITCAST()
15282 X = DAG.getNode(ISD::SIGN_EXTEND, SDLoc(N), VT, X); in visitBITCAST()
15283 AddToWorklist(X.getNode()); in visitBITCAST()
15288 X = DAG.getNode(ISD::SRL, DL, in visitBITCAST()
15292 AddToWorklist(X.getNode()); in visitBITCAST()
15293 X = DAG.getNode(ISD::TRUNCATE, SDLoc(X), VT, X); in visitBITCAST()
15294 AddToWorklist(X.getNode()); in visitBITCAST()
15300 AddToWorklist(Cst.getNode()); in visitBITCAST()
15302 AddToWorklist(X.getNode()); in visitBITCAST()
15303 SDValue XorResult = DAG.getNode(ISD::XOR, SDLoc(N0), VT, Cst, X); in visitBITCAST()
15304 AddToWorklist(XorResult.getNode()); in visitBITCAST()
15305 SDValue XorResult64 = DAG.getNode( in visitBITCAST()
15309 AddToWorklist(XorResult64.getNode()); in visitBITCAST()
15311 DAG.getNode(ISD::AND, SDLoc(XorResult64), MVT::i64, XorResult64, in visitBITCAST()
15313 AddToWorklist(FlipBit.getNode()); in visitBITCAST()
15315 DAG.getNode(ISD::BUILD_PAIR, SDLoc(N0), VT, FlipBit, FlipBit); in visitBITCAST()
15316 AddToWorklist(FlipBits.getNode()); in visitBITCAST()
15317 return DAG.getNode(ISD::XOR, SDLoc(N), VT, Cst, FlipBits); in visitBITCAST()
15320 X = DAG.getNode(ISD::AND, SDLoc(X), VT, in visitBITCAST()
15322 AddToWorklist(X.getNode()); in visitBITCAST()
15325 Cst = DAG.getNode(ISD::AND, SDLoc(Cst), VT, in visitBITCAST()
15327 AddToWorklist(Cst.getNode()); in visitBITCAST()
15329 return DAG.getNode(ISD::OR, SDLoc(N), VT, X, Cst); in visitBITCAST()
15335 if (SDValue CombineLD = CombineConsecutiveLoads(N0.getNode(), VT)) in visitBITCAST()
15440 DAG.UpdateNodeOperands(FrozenMaybePoisonOperand.getNode(), in visitFREEZE()
15462 SDValue R = DAG.getNode(N0.getOpcode(), SDLoc(N0), N0->getVTList(), Ops); in visitFREEZE()
15488 Op = DAG.getNode(ISD::TRUNCATE, SDLoc(BV), SrcEltVT, Op); in ConstantFoldBITCASTofBUILD_VECTOR()
15490 AddToWorklist(Ops.back().getNode()); in ConstantFoldBITCASTofBUILD_VECTOR()
15504 BV = ConstantFoldBITCASTofBUILD_VECTOR(BV, IntVT).getNode(); in ConstantFoldBITCASTofBUILD_VECTOR()
15512 SDNode *Tmp = ConstantFoldBITCASTofBUILD_VECTOR(BV, TmpVT).getNode(); in ConstantFoldBITCASTofBUILD_VECTOR()
15627 return matcher.getNode(PreferredFusedOpcode, SL, VT, N0.getOperand(0), in visitFADDForFMACombine()
15634 return matcher.getNode(PreferredFusedOpcode, SL, VT, N1.getOperand(0), in visitFADDForFMACombine()
15662 SDValue CDE = matcher.getNode(PreferredFusedOpcode, SL, VT, C, D, E); in visitFADDForFMACombine()
15681 return matcher.getNode( in visitFADDForFMACombine()
15683 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(0)), in visitFADDForFMACombine()
15684 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(1)), N1); in visitFADDForFMACombine()
15695 return matcher.getNode( in visitFADDForFMACombine()
15697 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(0)), in visitFADDForFMACombine()
15698 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(1)), N0); in visitFADDForFMACombine()
15708 return matcher.getNode( in visitFADDForFMACombine()
15710 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFADDForFMACombine()
15711 matcher.getNode(ISD::FP_EXTEND, SL, VT, U), in visitFADDForFMACombine()
15712 matcher.getNode(ISD::FP_EXTEND, SL, VT, V), Z)); in visitFADDForFMACombine()
15735 return matcher.getNode( in visitFADDForFMACombine()
15737 matcher.getNode(ISD::FP_EXTEND, SL, VT, X), in visitFADDForFMACombine()
15738 matcher.getNode(ISD::FP_EXTEND, SL, VT, Y), in visitFADDForFMACombine()
15739 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFADDForFMACombine()
15740 matcher.getNode(ISD::FP_EXTEND, SL, VT, U), in visitFADDForFMACombine()
15741 matcher.getNode(ISD::FP_EXTEND, SL, VT, V), Z)); in visitFADDForFMACombine()
15849 return matcher.getNode(PreferredFusedOpcode, SL, VT, XY.getOperand(0), in visitFSUBForFMACombine()
15851 matcher.getNode(ISD::FNEG, SL, VT, Z)); in visitFSUBForFMACombine()
15860 return matcher.getNode( in visitFSUBForFMACombine()
15862 matcher.getNode(ISD::FNEG, SL, VT, YZ.getOperand(0)), in visitFSUBForFMACombine()
15892 return matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFSUBForFMACombine()
15893 matcher.getNode(ISD::FNEG, SL, VT, N00), N01, in visitFSUBForFMACombine()
15894 matcher.getNode(ISD::FNEG, SL, VT, N1)); in visitFSUBForFMACombine()
15906 return matcher.getNode( in visitFSUBForFMACombine()
15908 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(0)), in visitFSUBForFMACombine()
15909 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(1)), in visitFSUBForFMACombine()
15910 matcher.getNode(ISD::FNEG, SL, VT, N1)); in visitFSUBForFMACombine()
15922 return matcher.getNode( in visitFSUBForFMACombine()
15924 matcher.getNode( in visitFSUBForFMACombine()
15926 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(0))), in visitFSUBForFMACombine()
15927 matcher.getNode(ISD::FP_EXTEND, SL, VT, N10.getOperand(1)), N0); in visitFSUBForFMACombine()
15944 return matcher.getNode( in visitFSUBForFMACombine()
15946 matcher.getNode( in visitFSUBForFMACombine()
15948 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(0)), in visitFSUBForFMACombine()
15949 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(1)), in visitFSUBForFMACombine()
15968 return matcher.getNode( in visitFSUBForFMACombine()
15970 matcher.getNode( in visitFSUBForFMACombine()
15972 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(0)), in visitFSUBForFMACombine()
15973 matcher.getNode(ISD::FP_EXTEND, SL, VT, N000.getOperand(1)), in visitFSUBForFMACombine()
15985 return isContractableFMUL(N) && isReassociable(N.getNode()); in visitFSUBForFMACombine()
16000 return matcher.getNode( in visitFSUBForFMACombine()
16002 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFSUBForFMACombine()
16005 matcher.getNode(ISD::FNEG, SL, VT, N1))); in visitFSUBForFMACombine()
16015 return matcher.getNode( in visitFSUBForFMACombine()
16017 matcher.getNode(ISD::FNEG, SL, VT, N1.getOperand(0)), in visitFSUBForFMACombine()
16019 matcher.getNode(PreferredFusedOpcode, SL, VT, in visitFSUBForFMACombine()
16020 matcher.getNode(ISD::FNEG, SL, VT, N20), N21, N0)); in visitFSUBForFMACombine()
16032 return matcher.getNode( in visitFSUBForFMACombine()
16034 matcher.getNode( in visitFSUBForFMACombine()
16036 matcher.getNode(ISD::FP_EXTEND, SL, VT, N020.getOperand(0)), in visitFSUBForFMACombine()
16037 matcher.getNode(ISD::FP_EXTEND, SL, VT, N020.getOperand(1)), in visitFSUBForFMACombine()
16038 matcher.getNode(ISD::FNEG, SL, VT, N1))); in visitFSUBForFMACombine()
16056 return matcher.getNode( in visitFSUBForFMACombine()
16058 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(0)), in visitFSUBForFMACombine()
16059 matcher.getNode(ISD::FP_EXTEND, SL, VT, N00.getOperand(1)), in visitFSUBForFMACombine()
16060 matcher.getNode( in visitFSUBForFMACombine()
16062 matcher.getNode(ISD::FP_EXTEND, SL, VT, N002.getOperand(0)), in visitFSUBForFMACombine()
16063 matcher.getNode(ISD::FP_EXTEND, SL, VT, N002.getOperand(1)), in visitFSUBForFMACombine()
16064 matcher.getNode(ISD::FNEG, SL, VT, N1))); in visitFSUBForFMACombine()
16079 return matcher.getNode( in visitFSUBForFMACombine()
16081 matcher.getNode(ISD::FNEG, SL, VT, N1.getOperand(0)), in visitFSUBForFMACombine()
16083 matcher.getNode( in visitFSUBForFMACombine()
16085 matcher.getNode(ISD::FNEG, SL, VT, in visitFSUBForFMACombine()
16086 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1200)), in visitFSUBForFMACombine()
16087 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1201), N0)); in visitFSUBForFMACombine()
16107 return matcher.getNode( in visitFSUBForFMACombine()
16109 matcher.getNode(ISD::FNEG, SL, VT, in visitFSUBForFMACombine()
16110 matcher.getNode(ISD::FP_EXTEND, SL, VT, N100)), in visitFSUBForFMACombine()
16111 matcher.getNode(ISD::FP_EXTEND, SL, VT, N101), in visitFSUBForFMACombine()
16112 matcher.getNode( in visitFSUBForFMACombine()
16114 matcher.getNode(ISD::FNEG, SL, VT, in visitFSUBForFMACombine()
16115 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1020)), in visitFSUBForFMACombine()
16116 matcher.getNode(ISD::FP_EXTEND, SL, VT, N1021), N0)); in visitFSUBForFMACombine()
16168 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16171 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16172 DAG.getNode(ISD::FNEG, SL, VT, Y)); in visitFMULForFMADistributiveCombine()
16191 return DAG.getNode(PreferredFusedOpcode, SL, VT, in visitFMULForFMADistributiveCombine()
16192 DAG.getNode(ISD::FNEG, SL, VT, X.getOperand(1)), Y, in visitFMULForFMADistributiveCombine()
16195 return DAG.getNode(PreferredFusedOpcode, SL, VT, in visitFMULForFMADistributiveCombine()
16196 DAG.getNode(ISD::FNEG, SL, VT, X.getOperand(1)), Y, in visitFMULForFMADistributiveCombine()
16197 DAG.getNode(ISD::FNEG, SL, VT, Y)); in visitFMULForFMADistributiveCombine()
16201 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16202 DAG.getNode(ISD::FNEG, SL, VT, Y)); in visitFMULForFMADistributiveCombine()
16204 return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y, in visitFMULForFMADistributiveCombine()
16225 AddToWorklist(Fused.getNode()); in visitVP_FADD()
16251 return DAG.getNode(ISD::FADD, DL, VT, N1, N0); in visitFADD()
16271 return DAG.getNode(ISD::FSUB, DL, VT, N0, NegN1); in visitFADD()
16277 return DAG.getNode(ISD::FSUB, DL, VT, N1, NegN0); in visitFADD()
16289 SDValue Add = DAG.getNode(ISD::FADD, DL, VT, B, B); in visitFADD()
16290 return DAG.getNode(ISD::FSUB, DL, VT, N1, Add); in visitFADD()
16295 SDValue Add = DAG.getNode(ISD::FADD, DL, VT, B, B); in visitFADD()
16296 return DAG.getNode(ISD::FSUB, DL, VT, N0, Add); in visitFADD()
16323 SDValue NewC = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), N1); in visitFADD()
16324 return DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(0), NewC); in visitFADD()
16339 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), in visitFADD()
16341 return DAG.getNode(ISD::FMUL, DL, VT, N1, NewCFP); in visitFADD()
16348 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), in visitFADD()
16350 return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), NewCFP); in visitFADD()
16362 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N1.getOperand(1), in visitFADD()
16364 return DAG.getNode(ISD::FMUL, DL, VT, N0, NewCFP); in visitFADD()
16371 SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N1.getOperand(1), in visitFADD()
16373 return DAG.getNode(ISD::FMUL, DL, VT, N1.getOperand(0), NewCFP); in visitFADD()
16383 return DAG.getNode(ISD::FMUL, DL, VT, N1, in visitFADD()
16394 return DAG.getNode(ISD::FMUL, DL, VT, N0, in visitFADD()
16404 return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), in visitFADD()
16418 AddToWorklist(Fused.getNode()); in visitFADD()
16437 return DAG.getNode(ISD::STRICT_FSUB, DL, DAG.getVTList(VT, ChainVT), in visitSTRICT_FADD()
16445 return DAG.getNode(ISD::STRICT_FSUB, DL, DAG.getVTList(VT, ChainVT), in visitSTRICT_FADD()
16505 return DAG.getNode(ISD::FNEG, DL, VT, N1); in visitFSUB()
16515 return DAG.getNode(ISD::FNEG, DL, VT, N1->getOperand(1)); in visitFSUB()
16518 return DAG.getNode(ISD::FNEG, DL, VT, N1->getOperand(0)); in visitFSUB()
16524 return DAG.getNode(ISD::FADD, DL, VT, N0, NegN1); in visitFSUB()
16528 AddToWorklist(Fused.getNode()); in visitFSUB()
16633 SDValue Shift = DAG.getNode(ISD::SHL, DL, NewIntVT, Log2, MantissaShiftCnt); in combineFMulOrFDivWithIntPow2()
16635 DAG.getNode(N->getOpcode() == ISD::FMUL ? ISD::ADD : ISD::SUB, DL, in combineFMulOrFDivWithIntPow2()
16661 return DAG.getNode(ISD::FMUL, DL, VT, N1, N0); in visitFMUL()
16681 SDValue MulConsts = DAG.getNode(ISD::FMUL, DL, VT, N01, N1); in visitFMUL()
16682 return DAG.getNode(ISD::FMUL, DL, VT, N00, MulConsts); in visitFMUL()
16691 SDValue MulConsts = DAG.getNode(ISD::FMUL, DL, VT, Two, N1); in visitFMUL()
16692 return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), MulConsts); in visitFMUL()
16703 return DAG.getNode(ISD::FADD, DL, VT, N0, N0); in visitFMUL()
16708 return DAG.getNode(ISD::FSUB, DL, VT, in visitFMUL()
16726 return DAG.getNode(ISD::FMUL, DL, VT, NegN0, NegN1); in visitFMUL()
16765 return DAG.getNode(ISD::FNEG, DL, VT, in visitFMUL()
16766 DAG.getNode(ISD::FABS, DL, VT, X)); in visitFMUL()
16768 return DAG.getNode(ISD::FABS, DL, VT, X); in visitFMUL()
16777 AddToWorklist(Fused.getNode()); in visitFMUL()
16809 return matcher.getNode(ISD::FMA, DL, VT, N0, N1, N2); in visitFMA()
16825 return matcher.getNode(ISD::FMA, DL, VT, NegN0, NegN1, N2); in visitFMA()
16838 return matcher.getNode(ISD::FADD, SDLoc(N), VT, N1, N2); in visitFMA()
16840 return matcher.getNode(ISD::FADD, SDLoc(N), VT, N0, N2); in visitFMA()
16845 return matcher.getNode(ISD::FMA, SDLoc(N), VT, N1, N0, N2); in visitFMA()
16852 return matcher.getNode( in visitFMA()
16854 matcher.getNode(ISD::FADD, DL, VT, N1, N2.getOperand(1))); in visitFMA()
16861 return matcher.getNode( in visitFMA()
16863 matcher.getNode(ISD::FMUL, DL, VT, N1, N0.getOperand(1)), N2); in visitFMA()
16871 return matcher.getNode(ISD::FADD, DL, VT, N0, N2); in visitFMA()
16875 SDValue RHSNeg = matcher.getNode(ISD::FNEG, DL, VT, N0); in visitFMA()
16876 AddToWorklist(RHSNeg.getNode()); in visitFMA()
16877 return matcher.getNode(ISD::FADD, DL, VT, N2, RHSNeg); in visitFMA()
16885 return matcher.getNode(ISD::FMA, DL, VT, N0.getOperand(0), in visitFMA()
16886 matcher.getNode(ISD::FNEG, DL, VT, N1), N2); in visitFMA()
16894 return matcher.getNode(ISD::FMUL, DL, VT, N0, in visitFMA()
16895 matcher.getNode(ISD::FADD, DL, VT, N1, in visitFMA()
16901 return matcher.getNode(ISD::FMUL, DL, VT, N0, in visitFMA()
16902 matcher.getNode(ISD::FADD, DL, VT, N1, in visitFMA()
16912 return matcher.getNode(ISD::FNEG, DL, VT, Neg); in visitFMA()
16926 return DAG.getNode(ISD::FMAD, DL, VT, N0, N1, N2); in visitFMAD()
16993 SDValue Reciprocal = DAG.getNode(ISD::FDIV, DL, VT, FPOne, N1, Flags); in combineRepeatedFPDivisors()
16999 SDValue NewNode = DAG.getNode(ISD::FMUL, SDLoc(U), VT, Dividend, in combineRepeatedFPDivisors()
17002 } else if (U != Reciprocal.getNode()) { in combineRepeatedFPDivisors()
17054 return DAG.getNode(ISD::FMUL, DL, VT, N0, in visitFDIV()
17062 return DAG.getNode(ISD::FMUL, DL, VT, N0, RV); in visitFDIV()
17067 RV = DAG.getNode(ISD::FP_EXTEND, SDLoc(N1), VT, RV); in visitFDIV()
17068 AddToWorklist(RV.getNode()); in visitFDIV()
17069 return DAG.getNode(ISD::FMUL, DL, VT, N0, RV); in visitFDIV()
17075 RV = DAG.getNode(ISD::FP_ROUND, SDLoc(N1), VT, RV, N1.getOperand(1)); in visitFDIV()
17076 AddToWorklist(RV.getNode()); in visitFDIV()
17077 return DAG.getNode(ISD::FMUL, DL, VT, N0, RV); in visitFDIV()
17090 if (Sqrt.getNode()) { in visitFDIV()
17103 SDValue AA = DAG.getNode(ISD::FMUL, DL, VT, A, A); in visitFDIV()
17105 DAG.getNode(ISD::FMUL, DL, VT, AA, Sqrt.getOperand(0)); in visitFDIV()
17107 return DAG.getNode(ISD::FMUL, DL, VT, N0, Rsqrt); in visitFDIV()
17110 recursivelyDeleteUnusedNodes(AAZ.getNode()); in visitFDIV()
17117 SDValue Div = DAG.getNode(ISD::FDIV, SDLoc(N1), VT, Rsqrt, Y); in visitFDIV()
17118 AddToWorklist(Div.getNode()); in visitFDIV()
17119 return DAG.getNode(ISD::FMUL, DL, VT, N0, Div); in visitFDIV()
17149 return DAG.getNode(ISD::FDIV, SDLoc(N), VT, NegN0, NegN1); in visitFDIV()
17244 return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0); in visitFCOPYSIGN()
17247 return DAG.getNode(ISD::FNEG, SDLoc(N), VT, in visitFCOPYSIGN()
17248 DAG.getNode(ISD::FABS, SDLoc(N0), VT, N0)); in visitFCOPYSIGN()
17257 return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, N0.getOperand(0), N1); in visitFCOPYSIGN()
17261 return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0); in visitFCOPYSIGN()
17265 return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, N0, N1.getOperand(1)); in visitFCOPYSIGN()
17270 return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, N0, N1.getOperand(0)); in visitFCOPYSIGN()
17306 return DAG.getNode(ISD::FCBRT, SDLoc(N), VT, N->getOperand(0)); in visitFPOW()
17341 SDValue Sqrt = DAG.getNode(ISD::FSQRT, DL, VT, N->getOperand(0)); in visitFPOW()
17342 SDValue SqrtSqrt = DAG.getNode(ISD::FSQRT, DL, VT, Sqrt); in visitFPOW()
17346 return DAG.getNode(ISD::FMUL, DL, VT, Sqrt, SqrtSqrt); in visitFPOW()
17370 return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0.getOperand(0)); in foldFPToIntToFP()
17374 return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0.getOperand(0)); in foldFPToIntToFP()
17393 return DAG.getNode(ISD::SINT_TO_FP, SDLoc(N), VT, N0); in visitSINT_TO_FP()
17401 return DAG.getNode(ISD::UINT_TO_FP, SDLoc(N), VT, N0); in visitSINT_TO_FP()
17445 return DAG.getNode(ISD::UINT_TO_FP, SDLoc(N), VT, N0); in visitUINT_TO_FP()
17453 return DAG.getNode(ISD::SINT_TO_FP, SDLoc(N), VT, N0); in visitUINT_TO_FP()
17503 return DAG.getNode(ExtOp, SDLoc(N), VT, Src); in FoldIntToFPToInt()
17506 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, Src); in FoldIntToFPToInt()
17522 return DAG.getNode(ISD::FP_TO_SINT, SDLoc(N), VT, N0); in visitFP_TO_SINT()
17537 return DAG.getNode(ISD::FP_TO_UINT, SDLoc(N), VT, N0); in visitFP_TO_UINT()
17552 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N0); in visitXRINT()
17597 return DAG.getNode( in visitFP_ROUND()
17611 SDValue Tmp = DAG.getNode(ISD::FP_ROUND, SDLoc(N0), VT, in visitFP_ROUND()
17613 AddToWorklist(Tmp.getNode()); in visitFP_ROUND()
17614 return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, in visitFP_ROUND()
17639 return DAG.getNode(ISD::FP_EXTEND, SDLoc(N), VT, N0); in visitFP_EXTEND()
17644 return DAG.getNode(ISD::FP16_TO_FP, SDLoc(N), VT, N0.getOperand(0)); in visitFP_EXTEND()
17653 return DAG.getNode(ISD::FP_ROUND, SDLoc(N), VT, in visitFP_EXTEND()
17655 return DAG.getNode(ISD::FP_EXTEND, SDLoc(N), VT, In); in visitFP_EXTEND()
17659 if (ISD::isNormalLoad(N0.getNode()) && N0.hasOneUse() && in visitFP_EXTEND()
17668 N0.getNode(), in visitFP_EXTEND()
17669 DAG.getNode(ISD::FP_ROUND, SDLoc(N0), N0.getValueType(), ExtLoad, in visitFP_EXTEND()
17687 return DAG.getNode(ISD::FCEIL, SDLoc(N), VT, N0); in visitFCEIL()
17698 return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0); in visitFTRUNC()
17722 return DAG.getNode(ISD::FFREXP, SDLoc(N), N->getVTList(), N0); in visitFFREXP()
17732 return DAG.getNode(ISD::FFLOOR, SDLoc(N), VT, N0); in visitFFLOOR()
17744 return DAG.getNode(ISD::FNEG, SDLoc(N), VT, N0); in visitFNEG()
17757 return DAG.getNode(ISD::FSUB, SDLoc(N), VT, N0.getOperand(1), in visitFNEG()
17784 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, N1, N0); in visitFMinMax()
17831 return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0); in visitFABS()
17840 return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0.getOperand(0)); in visitFABS()
17856 return DAG.getNode(ISD::BRCOND, SDLoc(N), MVT::Other, Chain, in visitBRCOND()
17904 return DAG.getNode( in visitBRCOND()
17920 return DAG.getNode(ISD::BR_CC, SDLoc(N), MVT::Other, in visitBRCOND()
17930 return DAG.getNode(ISD::BRCOND, SDLoc(N), MVT::Other, in visitBRCOND()
17993 SDValue Tmp = visitXOR(N.getNode()); in rebuildSetCC()
17995 if (!Tmp.getNode()) in rebuildSetCC()
17999 if (Tmp.getNode() == N.getNode()) in rebuildSetCC()
18050 if (Simp.getNode()) AddToWorklist(Simp.getNode()); in visitBR_CC()
18053 if (Simp.getNode() && Simp.getOpcode() == ISD::SETCC) in visitBR_CC()
18054 return DAG.getNode(ISD::BR_CC, SDLoc(N), MVT::Other, in visitBR_CC()
18170 if (Val == Ptr || Ptr->isPredecessorOf(Val.getNode())) in CombineToPreIndexedLoadStore()
18191 if (Use.getUser() == Ptr.getNode() || Use != BasePtr) in CombineToPreIndexedLoadStore()
18233 if (!canFoldInAddressingMode(Ptr.getNode(), Use, DAG, TLI)) in CombineToPreIndexedLoadStore()
18276 if (OtherUses[i]->getOperand(OffsetIdx).getNode() == BasePtr.getNode()) in CombineToPreIndexedLoadStore()
18278 assert(OtherUses[i]->getOperand(!OffsetIdx).getNode() == in CombineToPreIndexedLoadStore()
18279 BasePtr.getNode() && "Expected BasePtr operand"); in CombineToPreIndexedLoadStore()
18313 SDValue NewUse = DAG.getNode(Opcode, in CombineToPreIndexedLoadStore()
18322 deleteAndRecombine(Ptr.getNode()); in CombineToPreIndexedLoadStore()
18323 AddToWorklist(Result.getNode()); in CombineToPreIndexedLoadStore()
18349 if (Use == Ptr.getNode()) in shouldCombineToPostInc()
18404 Visited.insert(Ptr.getNode()); in getPostIndexedLoadStoreOp()
18487 return DAG.getNode(Opc, SDLoc(LD), BP.getSimpleValueType(), BP, Inc); in SplitIndexingFromLoad()
18503 Val = DAG.getNode(ISD::FTRUNC, SDLoc(ST), STMemType, Val); in getTruncatedStoreValue()
18508 Val = DAG.getNode(ISD::TRUNCATE, SDLoc(ST), STMemType, Val); in getTruncatedStoreValue()
18531 Val = DAG.getNode(ISD::ANY_EXTEND, SDLoc(LD), LDType, Val); in extendLoadedValueToExtension()
18534 Val = DAG.getNode(ISD::SIGN_EXTEND, SDLoc(LD), LDType, Val); in extendLoadedValueToExtension()
18537 Val = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(LD), LDType, Val); in extendLoadedValueToExtension()
18557 StoreSDNode *Store = dyn_cast<StoreSDNode>(Op.getNode()); in getUniqueStoreFeeding()
18567 (Aliases.size() == 1 && Aliases.front().getNode() == Store)) in getUniqueStoreFeeding()
18572 StoreSDNode *Store = dyn_cast<StoreSDNode>(Chain.getNode()); in getUniqueStoreFeeding()
18669 auto Val = DAG.getNode(ISD::AND, SDLoc(LD), LDType, ST->getValue(), Mask); in ForwardStoreValueToDirectLoad()
18681 Val = DAG.getNode(ISD::SRL, SDLoc(LD), STType, Val, in ForwardStoreValueToDirectLoad()
18701 Val = DAG.getNode(ISD::TRUNCATE, SDLoc(LD), LDMemType, Val); in ForwardStoreValueToDirectLoad()
18712 deleteAndRecombine(Val.getNode()); in ForwardStoreValueToDirectLoad()
18740 AddUsersToWorklist(Chain.getNode()); in visitLOAD()
18795 assert(NewLoad.getNode() == N); in visitLOAD()
18821 SDValue Token = DAG.getNode(ISD::TokenFactor, SDLoc(N), in visitLOAD()
19078 BaseAddr = DAG->getNode(ISD::ADD, DL, ArithType, BaseAddr, in loadSlice()
19095 DAG->getNode(ISD::ZERO_EXTEND, SDLoc(LastInst), FinalType, LastInst); in loadSlice()
19383 SDValue Chain = DAG.getNode(ISD::TokenFactor, SDLoc(LD), MVT::Other, in SliceUpLoad()
19386 AddToWorklist(Chain.getNode()); in SliceUpLoad()
19400 !ISD::isNormalLoad(V->getOperand(0).getNode())) in CheckForMaskedLoad()
19445 if (LD == Chain.getNode()) in CheckForMaskedLoad()
19450 if (!LD->isOperandOf(Chain.getNode())) in CheckForMaskedLoad()
19506 IVal = DAG.getNode(ISD::SRL, DL, IVal.getValueType(), IVal, in ShrinkLoadReplaceStoreWithStore()
19531 IVal = DAG.getNode(ISD::TRUNCATE, SDLoc(IVal), VT, IVal); in ShrinkLoadReplaceStoreWithStore()
19590 if (ISD::isNormalLoad(N0.getNode()) && N0.hasOneUse() && in ReduceLoadOpStoreWidth()
19591 Chain == SDValue(N0.getNode(), 1)) { in ReduceLoadOpStoreWidth()
19652 SDValue NewVal = DAG.getNode(Opc, SDLoc(Value), NewVT, NewLD, in ReduceLoadOpStoreWidth()
19659 AddToWorklist(NewPtr.getNode()); in ReduceLoadOpStoreWidth()
19660 AddToWorklist(NewLD.getNode()); in ReduceLoadOpStoreWidth()
19661 AddToWorklist(NewVal.getNode()); in ReduceLoadOpStoreWidth()
19678 if (ISD::isNormalStore(ST) && ISD::isNormalLoad(Value.getNode()) && in TransformFPLoadStorePair()
19718 AddToWorklist(NewLD.getNode()); in TransformFPLoadStorePair()
19719 AddToWorklist(NewST.getNode()); in TransformFPLoadStorePair()
19759 SDNode *MulVar = AddNode.getOperand(0).getNode(); in isMulAddWithConstProfitable()
19763 OtherOp = Use->getOperand(1).getNode(); in isMulAddWithConstProfitable()
19765 OtherOp = Use->getOperand(0).getNode(); in isMulAddWithConstProfitable()
19795 OtherOp->getOperand(0).getNode() == MulVar) in isMulAddWithConstProfitable()
19816 if (Visited.insert(StoreNodes[i].MemNode->getChain().getNode()).second) in getMergeStoreChains()
19920 StoredVal = DAG.getNode(MemVT.isVector() ? ISD::CONCAT_VECTORS in mergeStoresOfConstantsOrVecElts()
19943 Val = DAG.getNode(ISD::BUILD_VECTOR, DL, MemVT, Val); in mergeStoresOfConstantsOrVecElts()
19949 Val = DAG.getNode(OpC, SDLoc(Val), MemVT, Vec, Idx); in mergeStoresOfConstantsOrVecElts()
19956 StoredVal = DAG.getNode(MemVT.isVector() ? ISD::CONCAT_VECTORS in mergeStoresOfConstantsOrVecElts()
19989 } else if (ISD::isBuildVectorOfConstantSDNodes(Val.getNode()) || in mergeStoresOfConstantsOrVecElts()
19990 ISD::isBuildVectorOfConstantFPSDNodes(Val.getNode())) { in mergeStoresOfConstantsOrVecElts()
20040 AddToWorklist(NewChain.getNode()); in mergeStoresOfConstantsOrVecElts()
20051 if (!BasePtr.getBase().getNode() || BasePtr.getBase().isUndef()) in getStoreMergeCandidates()
20182 RootNode = St->getChain().getNode(); in getStoreMergeCandidates()
20187 RootNode = Ldn->getChain().getNode(); in getStoreMergeCandidates()
20231 Worklist.push_back(Op.getNode()); in checkMergeStoreCandidatesForDependencies()
20257 Worklist.push_back(N->getOperand(j).getNode()); in checkMergeStoreCandidatesForDependencies()
20345 else if (ISD::isBuildVectorAllZeros(StoredVal.getNode())) in tryStoreMergeOfConstants()
20542 if (LdBasePtr.getBase().getNode()) { in tryStoreMergeOfLoads()
20732 AddToWorklist(NewStoreChain.getNode()); in tryStoreMergeOfLoads()
20761 StoreOp = DAG.getNode(ISD::ROTL, LoadDL, JointMemOpVT, NewLoad, RotAmt); in tryStoreMergeOfLoads()
20787 SDValue(NewLoad.getNode(), 1)); in tryStoreMergeOfLoads()
20796 recursivelyDeleteUnusedNodes(Val.getNode()); in tryStoreMergeOfLoads()
20910 SDValue Token = DAG.getNode(ISD::TokenFactor, SL, in replaceStoreChain()
20914 AddToWorklist(Token.getNode()); in replaceStoreChain()
20990 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, in replaceStoreOfFPConstant()
21095 assert(NewStore.getNode() == N); in visitSTORE()
21141 AddToWorklist(Value.getNode()); in visitSTORE()
21314 if (!mayAlias(Chain.getNode(), N)) in visitLIFETIME_END()
21435 Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Lo.getOperand(0)); in splitMergedValStore()
21436 Hi = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Hi.getOperand(0)); in splitMergedValStore()
21599 SDValue PaddedSubV = DAG.getNode(ISD::CONCAT_VECTORS, DL, ShufVT, ConcatOps); in combineInsertEltToShuffle()
21604 AddToWorklist(PaddedSubV.getNode()); in combineInsertEltToShuffle()
21605 AddToWorklist(DestVecBC.getNode()); in combineInsertEltToShuffle()
21606 AddToWorklist(Shuf.getNode()); in combineInsertEltToShuffle()
21690 Ptr = DAG.getNode(ISD::ADD, DL, Ptr.getValueType(), VecLoad->getBasePtr(), in combineInsertEltToLoad()
21700 return Extend ? DAG.getNode(Extend, DL, VT, Load) : Load; in combineInsertEltToLoad()
21760 SDValue NewOp = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VT, in visitINSERT_VECTOR_ELT()
21762 AddToWorklist(NewOp.getNode()); in visitINSERT_VECTOR_ELT()
21763 return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(InVec.getNode()), in visitINSERT_VECTOR_ELT()
21882 return DAG.getNode(ISD::AND, DL, VT, CurVec, in visitINSERT_VECTOR_ELT()
21978 Load = DAG.getNode(ISD::TRUNCATE, DL, ResultVT, Load); in scalarizeExtractedVectorLoad()
22009 ISD::isConstantSplatVector(Op0.getNode(), SplatVal) || in scalarizeExtractedBinop()
22011 ISD::isConstantSplatVector(Op1.getNode(), SplatVal)) { in scalarizeExtractedBinop()
22016 SDValue Ext0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Op0, Index); in scalarizeExtractedBinop()
22017 SDValue Ext1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Op1, Index); in scalarizeExtractedBinop()
22018 return DAG.getNode(Vec.getOpcode(), DL, VT, Ext0, Ext1); in scalarizeExtractedBinop()
22116 User->getOperand(0).getNode() == E.Producer && ShAmtC) { in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22178 SDValue V = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, NewScalarVT, NewVecOp, in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22218 return DAG.getNode(ISD::TRUNCATE, DL, ScalarVT, InOp); in visitEXTRACT_VECTOR_ELT()
22219 return DAG.getNode(ISD::ANY_EXTEND, DL, ScalarVT, InOp); in visitEXTRACT_VECTOR_ELT()
22232 return DAG.getFreeze(DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, in visitEXTRACT_VECTOR_ELT()
22361 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, SVInVec, in visitEXTRACT_VECTOR_ELT()
22424 ISD::isNormalLoad(VecOp.getNode()) && in visitEXTRACT_VECTOR_ELT()
22425 !Index->hasPredecessor(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22441 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22445 ISD::isNormalLoad(VecOp.getOperand(0).getNode())) { in visitEXTRACT_VECTOR_ELT()
22477 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22502 SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, in visitEXTRACT_VECTOR_ELT()
22505 return DAG.getNode(ISD::BITCAST, SL, ScalarVT, Elt); in visitEXTRACT_VECTOR_ELT()
22634 AddToWorklist(BV.getNode()); in reduceBuildVecExtToExtBuildVec()
22731 EVT InVT2 = VecIn2.getNode() ? VecIn2.getValueType() : InVT1; in createBuildVecShuffle()
22758 VecIn1 = DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps); in createBuildVecShuffle()
22764 if (!VecIn2.getNode()) { in createBuildVecShuffle()
22767 VecIn2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, VecIn1, in createBuildVecShuffle()
22769 VecIn1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, VecIn1, ZeroIdx); in createBuildVecShuffle()
22791 VecIn2 = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, InVT1, in createBuildVecShuffle()
22799 VecIn2 = DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps); in createBuildVecShuffle()
22806 if (VT.getVectorNumElements() <= 2 || !VecIn2.getNode()) in createBuildVecShuffle()
22819 VecIn2 = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, InVT1, in createBuildVecShuffle()
22855 VecIn2 = VecIn2.getNode() ? VecIn2 : DAG.getUNDEF(InVT1); in createBuildVecShuffle()
22860 Shuffle = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Shuffle, ZeroIdx); in createBuildVecShuffle()
23060 SDValue VecIn2 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, SplitVT, Vec, in reduceBuildVecToShuffle()
23062 SDValue VecIn1 = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, SplitVT, Vec, in reduceBuildVecToShuffle()
23177 LMask = cast<ShuffleVectorSDNode>(L.getNode())->getMask(); in reduceBuildVecToShuffle()
23186 RMask = cast<ShuffleVectorSDNode>(R.getNode())->getMask(); in reduceBuildVecToShuffle()
23256 In = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, InVT, In, in convertBuildVecZextToZext()
23258 return DAG.getNode(FoundZeroExtend ? ISD::ZERO_EXTEND : ISD::ANY_EXTEND, DL, in convertBuildVecZextToZext()
23373 Op = DAG.getNode(ISD::TRUNCATE, DL, NewScalarIntVT, Op); in convertBuildVecZextToBuildVecWithZeros()
23408 SDValue Concat = DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), in visitBUILD_VECTOR()
23441 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), N->getValueType(0), in visitBUILD_VECTOR()
23465 return DAG.getNode(ISD::SPLAT_VECTOR, SDLoc(N), VT, V); in visitBUILD_VECTOR()
23484 SDValue ScalarUndef = DAG.getNode(ISD::UNDEF, DL, SVT); in combineConcatVectorOfScalars()
23514 ScalarUndef = DAG.getNode(ISD::UNDEF, DL, SVT); in combineConcatVectorOfScalars()
23567 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, ConcatOps); in combineConcatVectorOfConcatVectors()
23707 SDValue NewConcat = DAG.getNode(ISD::CONCAT_VECTORS, DL, ConcatSrcVT, SrcOps); in combineConcatVectorOfCasts()
23708 return DAG.getNode(CastOpcode, DL, VT, NewConcat); in combineConcatVectorOfCasts()
23744 (Op.getNode() == CurSVN || is_contained(CurSVN->ops(), Op)); in combineConcatVectorOfShuffleAndItsOperands()
23776 if (Op.getNode() == SVN) { in combineConcatVectorOfShuffleAndItsOperands()
23807 NewShufOp = DAG.getNode(ISD::CONCAT_VECTORS, dl, VT, ShufOpParts); in combineConcatVectorOfShuffleAndItsOperands()
23842 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops); in visitCONCAT_VECTORS()
23883 SDValue Res = DAG.getNode(ISD::SCALAR_TO_VECTOR, SDLoc(N), NVT, Scalar); in visitCONCAT_VECTORS()
23927 DAG.getNode(ISD::TRUNCATE, SDLoc(N), MinVT, Op.getOperand(i))); in visitCONCAT_VECTORS()
23980 if (SingleSource.getNode()) { in visitCONCAT_VECTORS()
23999 if (SingleSource.getNode()) in visitCONCAT_VECTORS()
24053 return DAG.getNode(BinOpcode, SDLoc(Extract), SubVT, Sub0, Sub1, in narrowInsertExtractVectorBinOp()
24133 SDValue X = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24135 SDValue Y = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24138 DAG.getNode(BOpcode, DL, NarrowBVT, X, Y, BinOp->getFlags()); in narrowExtractedVectorBinOp()
24174 : DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24178 : DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowBVT, in narrowExtractedVectorBinOp()
24181 SDValue NarrowBinOp = DAG.getNode(BOpcode, DL, NarrowBVT, X, Y); in narrowExtractedVectorBinOp()
24390 NewOps.emplace_back(DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NarrowVT, in foldExtractSubvectorFromShuffleVector()
24422 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), NVT, V.getOperand(0), in visitEXTRACT_SUBVECTOR()
24450 SDValue NewExtract = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NewExtVT, in visitEXTRACT_SUBVECTOR()
24469 DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NewExtVT, in visitEXTRACT_SUBVECTOR()
24477 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, in visitEXTRACT_SUBVECTOR()
24517 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NVT, in visitEXTRACT_SUBVECTOR()
24549 Src = DAG.getNode(ISD::TRUNCATE, SDLoc(N), EltVT, Src); in visitEXTRACT_SUBVECTOR()
24581 return DAG.getNode( in visitEXTRACT_SUBVECTOR()
24643 return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, Shuf0, Shuf1); in foldShuffleOfConcatUndefs()
24674 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, N0, N1); in partitionShuffleOfConcats()
24708 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops); in partitionShuffleOfConcats()
24746 if (N0AnyConst && !N1AnyConst && !ISD::isBuildVectorAllZeros(N0.getNode())) in combineShuffleOfScalars()
24748 if (!N0AnyConst && N1AnyConst && !ISD::isBuildVectorAllZeros(N1.getNode())) in combineShuffleOfScalars()
24880 return DAG.getBitcast(VT, DAG.getNode(Opcode, SDLoc(SVN), *OutVT, N0)); in combineShuffleToAnyExtendVectorInreg()
25001 return DAG.getBitcast(VT, DAG.getNode(Opcode, SDLoc(SVN), *OutVT, in combineShuffleToZeroExtendVectorInReg()
25342 return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(Shuf), Op0.getValueType(), in replaceShuffleOfInsert()
25436 SDValue ExtL = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, L, Index); in visitVECTOR_SHUFFLE()
25437 SDValue ExtR = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, R, Index); in visitVECTOR_SHUFFLE()
25439 DAG.getNode(N0.getOpcode(), DL, EltVT, ExtL, ExtR, N0->getFlags()); in visitVECTOR_SHUFFLE()
25440 SDValue Insert = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VT, NewBO); in visitVECTOR_SHUFFLE()
25478 SDNode *V = N0.getNode(); in visitVECTOR_SHUFFLE()
25483 V = ConvInput.getNode(); in visitVECTOR_SHUFFLE()
25498 if (!Base.getNode()) in visitVECTOR_SHUFFLE()
25568 SDValue NewCat = DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, in visitVECTOR_SHUFFLE()
25619 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, LHS, in visitVECTOR_SHUFFLE()
25686 VT, DAG.getNode(ISD::AND, DL, IntVT, DAG.getBitcast(IntVT, N0), in visitVECTOR_SHUFFLE()
25812 if (!SV0.getNode() || SV0 == CurrentVec) { in visitVECTOR_SHUFFLE()
25819 if (!SV1.getNode() || SV1 == CurrentVec) { in visitVECTOR_SHUFFLE()
25914 N->isOnlyUserOf(N->getOperand(i).getNode())) { in visitVECTOR_SHUFFLE()
25941 if (TLI.isBinOp(SrcOpcode) && N->isOnlyUserOf(N0.getNode()) && in visitVECTOR_SHUFFLE()
25943 (SrcOpcode == N1.getOpcode() && N->isOnlyUserOf(N1.getNode())))) { in visitVECTOR_SHUFFLE()
26008 return DAG.getNode(SrcOpcode, DL, VT, LHS, RHS); in visitVECTOR_SHUFFLE()
26045 Scalar->isOnlyUserOf(Scalar.getOperand(0).getNode()) && in visitSCALAR_TO_VECTOR()
26046 Scalar->isOnlyUserOf(Scalar.getOperand(1).getNode()) && in visitSCALAR_TO_VECTOR()
26066 SDValue VecBO = DAG.getNode(Opcode, DL, VT, V[i], V[1 - i]); in visitSCALAR_TO_VECTOR()
26083 SDValue Val = DAG.getNode(ISD::TRUNCATE, SDLoc(Scalar), VecEltVT, Scalar); in visitSCALAR_TO_VECTOR()
26084 return DAG.getNode(ISD::SCALAR_TO_VECTOR, SDLoc(N), VT, Val); in visitSCALAR_TO_VECTOR()
26113 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), SubVT, LegalShuffle, in visitSCALAR_TO_VECTOR()
26145 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), in visitINSERT_SUBVECTOR()
26148 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), in visitINSERT_SUBVECTOR()
26157 return DAG.getNode(ISD::SPLAT_VECTOR, SDLoc(N), VT, N1.getOperand(0)); in visitINSERT_SUBVECTOR()
26185 SDValue NewINSERT = DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), in visitINSERT_SUBVECTOR()
26197 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, N0.getOperand(0), in visitINSERT_SUBVECTOR()
26206 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, N0, in visitINSERT_SUBVECTOR()
26240 Res = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, NewVT, Res, N1Src, NewIdx); in visitINSERT_SUBVECTOR()
26255 SDValue NewOp = DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, in visitINSERT_SUBVECTOR()
26257 AddToWorklist(NewOp.getNode()); in visitINSERT_SUBVECTOR()
26258 return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N0.getNode()), in visitINSERT_SUBVECTOR()
26272 return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops); in visitINSERT_SUBVECTOR()
26303 return DAG.getNode(Op, SDLoc(N), N->getValueType(0), N0.getOperand(0)); in visitFP16_TO_FP()
26334 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT.getVectorElementType(), N0, in visitVECREDUCE()
26337 Res = DAG.getNode(ISD::ANY_EXTEND, dl, N->getValueType(0), Res); in visitVECREDUCE()
26349 return DAG.getNode(NewOpcode, SDLoc(N), N->getValueType(0), N0); in visitVECREDUCE()
26362 return DAG.getNode(Opcode, SDLoc(N), N->getValueType(0), Subvec); in visitVECREDUCE()
26373 AddToWorklist(Fused.getNode()); in visitVP_FSUB()
26405 ISD::isConstantSplatVectorAllZeros(N->getOperand(*MaskIdx).getNode()); in visitVPOp()
26648 SDValue X = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src0, IndexC); in scalarizeBinOpOfSplats()
26649 SDValue Y = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, EltVT, Src1, IndexC); in scalarizeBinOpOfSplats()
26650 SDValue ScalarBO = DAG.getNode(Opcode, DL, EltVT, X, Y, N->getFlags()); in scalarizeBinOpOfSplats()
26690 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, SrcEltVT, Src0, IndexC); in SimplifyVCastOp()
26691 SDValue ScalarBO = DAG.getNode(Opcode, DL, EltVT, Elt, N->getFlags()); in SimplifyVCastOp()
26724 SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, LHS.getOperand(0), in SimplifyVBinOp()
26741 SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, X, RHS, Flags); in SimplifyVBinOp()
26750 SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, LHS, X, Flags); in SimplifyVBinOp()
26773 DAG.getNode(Opcode, DL, VT, DAG.getUNDEF(VT), DAG.getUNDEF(VT)); in SimplifyVBinOp()
26774 SDValue NarrowBO = DAG.getNode(Opcode, DL, NarrowVT, X, Y); in SimplifyVBinOp()
26775 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VT, VecC, NarrowBO, Z); in SimplifyVBinOp()
26784 ISD::isBuildVectorOfConstantSDNodes(Op.getNode()); in SimplifyVBinOp()
26802 ConcatOps.push_back(DAG.getNode(Opcode, DL, NarrowVT, LHS.getOperand(i), in SimplifyVBinOp()
26806 return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps); in SimplifyVBinOp()
26827 if (SCC.getNode()) { in SimplifySelect()
26832 SDValue SETCC = DAG.getNode(ISD::SETCC, SDLoc(N0), in SimplifySelect()
26836 AddToWorklist(SETCC.getNode()); in SimplifySelect()
26964 SDNode *CondNode = TheSelect->getOperand(0).getNode(); in SimplifySelectOps()
26984 SDNode *CondLHS = TheSelect->getOperand(0).getNode(); in SimplifySelectOps()
26985 SDNode *CondRHS = TheSelect->getOperand(1).getNode(); in SimplifySelectOps()
26995 Addr = DAG.getNode(ISD::SELECT_CC, SDLoc(TheSelect), in SimplifySelectOps()
27032 CombineTo(LHS.getNode(), Load.getValue(0), Load.getValue(1)); in SimplifySelectOps()
27033 CombineTo(RHS.getNode(), Load.getValue(0), Load.getValue(1)); in SimplifySelectOps()
27074 auto *N2C = dyn_cast<ConstantSDNode>(N2.getNode()); in foldSelectCCToShiftAnd()
27079 SDValue Shift = DAG.getNode(ISD::SRL, DL, XType, N0, ShiftAmt); in foldSelectCCToShiftAnd()
27080 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27083 Shift = DAG.getNode(ISD::TRUNCATE, DL, AType, Shift); in foldSelectCCToShiftAnd()
27084 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27090 return DAG.getNode(ISD::AND, DL, AType, Shift, N2); in foldSelectCCToShiftAnd()
27099 SDValue Shift = DAG.getNode(ISD::SRA, DL, XType, N0, ShiftAmt); in foldSelectCCToShiftAnd()
27100 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27103 Shift = DAG.getNode(ISD::TRUNCATE, DL, AType, Shift); in foldSelectCCToShiftAnd()
27104 AddToWorklist(Shift.getNode()); in foldSelectCCToShiftAnd()
27110 return DAG.getNode(ISD::AND, DL, AType, Shift, N2); in foldSelectCCToShiftAnd()
27142 SDValue NewBinOp = DAG.getNode(BinOpc, DL, OpVTs, NewSel, N1.getOperand(1)); in foldSelectOfBinops()
27145 return SDValue(NewBinOp.getNode(), N1.getResNo()); in foldSelectOfBinops()
27157 DAG.getNode(BinOpc, DL, OpVTs, N1.getOperand(0), NewSel); in foldSelectOfBinops()
27160 return SDValue(NewBinOp.getNode(), N1.getResNo()); in foldSelectOfBinops()
27202 Int = DAG.getNode(IsFabs ? ISD::AND : ISD::XOR, DL, IntVT, Int, in foldSignChangeInBitcast()
27204 AddToWorklist(Int.getNode()); in foldSignChangeInBitcast()
27255 AddToWorklist(Cond.getNode()); in convertSelectOfFPConstantsToLoadOffset()
27257 AddToWorklist(CstOffset.getNode()); in convertSelectOfFPConstantsToLoadOffset()
27258 CPIdx = DAG.getNode(ISD::ADD, DL, CPIdx.getValueType(), CPIdx, CstOffset); in convertSelectOfFPConstantsToLoadOffset()
27259 AddToWorklist(CPIdx.getNode()); in convertSelectOfFPConstantsToLoadOffset()
27276 auto *N1C = dyn_cast<ConstantSDNode>(N1.getNode()); in SimplifySelectCC()
27277 auto *N2C = dyn_cast<ConstantSDNode>(N2.getNode()); in SimplifySelectCC()
27278 auto *N3C = dyn_cast<ConstantSDNode>(N3.getNode()); in SimplifySelectCC()
27282 AddToWorklist(SCC.getNode()); in SimplifySelectCC()
27315 SDValue Shl = DAG.getNode(ISD::SHL, SDLoc(N0), VT, AndLHS, ShlAmt); in SimplifySelectCC()
27322 SDValue Shr = DAG.getNode(ISD::SRA, SDLoc(N0), VT, Shl, ShrAmt); in SimplifySelectCC()
27324 return DAG.getNode(ISD::AND, DL, VT, Shr, N3); in SimplifySelectCC()
27355 Temp = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N2), VT, SCC); in SimplifySelectCC()
27358 AddToWorklist(SCC.getNode()); in SimplifySelectCC()
27359 AddToWorklist(Temp.getNode()); in SimplifySelectCC()
27369 return DAG.getNode(ISD::SHL, DL, N2.getValueType(), Temp, in SimplifySelectCC()
27397 return DAG.getNode(ISD::CTTZ, DL, VT, N0); in SimplifySelectCC()
27404 return DAG.getNode(ISD::CTLZ, DL, VT, N0); in SimplifySelectCC()
27416 SDValue ASR = DAG.getNode( in SimplifySelectCC()
27419 return DAG.getNode(ISD::XOR, DL, VT, DAG.getSExtOrTrunc(ASR, DL, VT), in SimplifySelectCC()
27602 return DAG.getNode(ISD::ADD, DL, VT, LogX, in takeInexpensiveLog2()
27628 return DAG.getNode(Op.getOpcode(), DL, VT, LogX, LogY); in takeInexpensiveLog2()
27645 SDValue Ctlz = DAG.getNode(ISD::CTLZ, DL, VT, V); in BuildLogBase2()
27647 SDValue LogBase2 = DAG.getNode(ISD::SUB, DL, VT, Base, Ctlz); in BuildLogBase2()
27680 AddToWorklist(Est.getNode()); in BuildDivEstimate()
27692 MulEst = DAG.getNode(ISD::FMUL, DL, VT, N, Est, Flags); in BuildDivEstimate()
27693 AddToWorklist(MulEst.getNode()); in BuildDivEstimate()
27696 SDValue NewEst = DAG.getNode(ISD::FMUL, DL, VT, Op, MulEst, Flags); in BuildDivEstimate()
27697 AddToWorklist(NewEst.getNode()); in BuildDivEstimate()
27699 NewEst = DAG.getNode(ISD::FSUB, DL, VT, in BuildDivEstimate()
27701 AddToWorklist(NewEst.getNode()); in BuildDivEstimate()
27703 NewEst = DAG.getNode(ISD::FMUL, DL, VT, Est, NewEst, Flags); in BuildDivEstimate()
27704 AddToWorklist(NewEst.getNode()); in BuildDivEstimate()
27706 Est = DAG.getNode(ISD::FADD, DL, VT, MulEst, NewEst, Flags); in BuildDivEstimate()
27707 AddToWorklist(Est.getNode()); in BuildDivEstimate()
27711 Est = DAG.getNode(ISD::FMUL, DL, VT, Est, N, Flags); in BuildDivEstimate()
27712 AddToWorklist(Est.getNode()); in BuildDivEstimate()
27736 SDValue HalfArg = DAG.getNode(ISD::FMUL, DL, VT, ThreeHalves, Arg, Flags); in buildSqrtNROneConst()
27737 HalfArg = DAG.getNode(ISD::FSUB, DL, VT, HalfArg, Arg, Flags); in buildSqrtNROneConst()
27741 SDValue NewEst = DAG.getNode(ISD::FMUL, DL, VT, Est, Est, Flags); in buildSqrtNROneConst()
27742 NewEst = DAG.getNode(ISD::FMUL, DL, VT, HalfArg, NewEst, Flags); in buildSqrtNROneConst()
27743 NewEst = DAG.getNode(ISD::FSUB, DL, VT, ThreeHalves, NewEst, Flags); in buildSqrtNROneConst()
27744 Est = DAG.getNode(ISD::FMUL, DL, VT, Est, NewEst, Flags); in buildSqrtNROneConst()
27749 Est = DAG.getNode(ISD::FMUL, DL, VT, Est, Arg, Flags); in buildSqrtNROneConst()
27774 SDValue AE = DAG.getNode(ISD::FMUL, DL, VT, Arg, Est, Flags); in buildSqrtNRTwoConst()
27775 SDValue AEE = DAG.getNode(ISD::FMUL, DL, VT, AE, Est, Flags); in buildSqrtNRTwoConst()
27776 SDValue RHS = DAG.getNode(ISD::FADD, DL, VT, AEE, MinusThree, Flags); in buildSqrtNRTwoConst()
27784 LHS = DAG.getNode(ISD::FMUL, DL, VT, Est, MinusHalf, Flags); in buildSqrtNRTwoConst()
27787 LHS = DAG.getNode(ISD::FMUL, DL, VT, AE, MinusHalf, Flags); in buildSqrtNRTwoConst()
27790 Est = DAG.getNode(ISD::FMUL, DL, VT, LHS, RHS, Flags); in buildSqrtNRTwoConst()
27824 AddToWorklist(Est.getNode()); in buildSqrtEstimateImpl()
27838 Est = DAG.getNode( in buildSqrtEstimateImpl()
27905 if (MUC0.BasePtr.getNode() && MUC0.BasePtr == MUC1.BasePtr && in mayAlias()
28020 bool IsOpLoad = isa<LoadSDNode>(C.getNode()) && in GatherAllAliases()
28021 cast<LSBaseSDNode>(C.getNode())->isSimple(); in GatherAllAliases()
28022 if ((IsLoad && IsOpLoad) || !mayAlias(N, C.getNode())) { in GatherAllAliases()
28040 if (!mayAlias(N, C.getNode())) { in GatherAllAliases()
28059 if (!Visited.insert(Chain.getNode()).second) in GatherAllAliases()
28091 if (Chain.getNode()) in GatherAllAliases()
28155 if (!BasePtr.getBase().getNode()) in parallelizeChainedStores()
28253 AddToWorklist(TF.getNode()); in parallelizeChainedStores()
28255 AddToWorklist(Op.getNode()); in parallelizeChainedStores()
28267 if (!BasePtr.getBase().getNode()) in findBetterNeighborChains()