Lines Matching refs:DAGCombiner
87 class DAGCombiner { class
479 DAGCombiner(SelectionDAG &D, AliasAnalysis &A, CodeGenOpt::Level OL) in DAGCombiner() function in __anonbfbf49f20111::DAGCombiner
520 DAGCombiner &DC;
522 explicit WorklistRemover(DAGCombiner &dc) in WorklistRemover()
536 ((DAGCombiner*)DC)->AddToWorklist(N); in AddToWorklist()
540 ((DAGCombiner*)DC)->removeFromWorklist(N); in RemoveFromWorklist()
545 return ((DAGCombiner*)DC)->CombineTo(N, &To[0], To.size(), AddTo); in CombineTo()
550 return ((DAGCombiner*)DC)->CombineTo(N, Res, AddTo); in CombineTo()
556 return ((DAGCombiner*)DC)->CombineTo(N, Res0, Res1, AddTo); in CombineTo()
561 return ((DAGCombiner*)DC)->CommitTargetLoweringOpt(TLO); in CommitTargetLoweringOpt()
568 void DAGCombiner::deleteAndRecombine(SDNode *N) { in deleteAndRecombine()
734 bool DAGCombiner::isSetCCEquivalent(SDValue N, SDValue &LHS, SDValue &RHS, in isSetCCEquivalent()
761 bool DAGCombiner::isOneUseSetCC(SDValue N) const { in isOneUseSetCC()
816 SDValue DAGCombiner::ReassociateOps(unsigned Opc, const SDLoc &DL, SDValue N0, in ReassociateOps()
862 SDValue DAGCombiner::CombineTo(SDNode *N, const SDValue *To, unsigned NumTo, in CombineTo()
896 void DAGCombiner::
916 bool DAGCombiner::SimplifyDemandedBits(SDValue Op, const APInt &Demanded) { in SimplifyDemandedBits()
937 void DAGCombiner::ReplaceLoadWithPromotedLoad(SDNode *Load, SDNode *ExtLoad) { in ReplaceLoadWithPromotedLoad()
954 SDValue DAGCombiner::PromoteOperand(SDValue Op, EVT PVT, bool &Replace) { in PromoteOperand()
993 SDValue DAGCombiner::SExtPromoteOperand(SDValue Op, EVT PVT) { in SExtPromoteOperand()
1010 SDValue DAGCombiner::ZExtPromoteOperand(SDValue Op, EVT PVT) { in ZExtPromoteOperand()
1027 SDValue DAGCombiner::PromoteIntBinOp(SDValue Op) { in PromoteIntBinOp()
1085 SDValue DAGCombiner::PromoteIntShiftOp(SDValue Op) { in PromoteIntShiftOp()
1129 SDValue DAGCombiner::PromoteExtend(SDValue Op) { in PromoteExtend()
1158 bool DAGCombiner::PromoteLoad(SDValue Op) { in PromoteLoad()
1215 bool DAGCombiner::recursivelyDeleteUnusedNodes(SDNode *N) { in recursivelyDeleteUnusedNodes()
1243 void DAGCombiner::Run(CombineLevel AtLevel) { in Run()
1349 SDValue DAGCombiner::visit(SDNode *N) { in visit()
1448 SDValue DAGCombiner::combine(SDNode *N) { in combine()
1531 SDValue DAGCombiner::visitTokenFactor(SDNode *N) { in visitTokenFactor()
1610 SDValue DAGCombiner::visitMERGE_VALUES(SDNode *N) { in visitMERGE_VALUES()
1633 SDValue DAGCombiner::visitADD(SDNode *N) { in visitADD()
1780 SDValue DAGCombiner::visitADDC(SDNode *N) { in visitADDC()
1821 SDValue DAGCombiner::visitADDE(SDNode *N) { in visitADDE()
1852 SDValue DAGCombiner::visitSUB(SDNode *N) { in visitSUB()
1962 SDValue DAGCombiner::visitSUBC(SDNode *N) { in visitSUBC()
1990 SDValue DAGCombiner::visitSUBE(SDNode *N) { in visitSUBE()
2002 SDValue DAGCombiner::visitMUL(SDNode *N) { in visitMUL()
2153 SDValue DAGCombiner::useDivRem(SDNode *Node) { in useDivRem()
2222 SDValue DAGCombiner::visitSDIV(SDNode *N) { in visitSDIV()
2321 SDValue DAGCombiner::visitUDIV(SDNode *N) { in visitUDIV()
2386 SDValue DAGCombiner::visitREM(SDNode *N) { in visitREM()
2467 SDValue DAGCombiner::visitMULHS(SDNode *N) { in visitMULHS()
2508 SDValue DAGCombiner::visitMULHU(SDNode *N) { in visitMULHU()
2547 SDValue DAGCombiner::SimplifyNodeWithTwoResults(SDNode *N, unsigned LoOp, in SimplifyNodeWithTwoResults()
2595 SDValue DAGCombiner::visitSMUL_LOHI(SDNode *N) { in visitSMUL_LOHI()
2626 SDValue DAGCombiner::visitUMUL_LOHI(SDNode *N) { in visitUMUL_LOHI()
2657 SDValue DAGCombiner::visitSMULO(SDNode *N) { in visitSMULO()
2667 SDValue DAGCombiner::visitUMULO(SDNode *N) { in visitUMULO()
2677 SDValue DAGCombiner::visitIMINMAX(SDNode *N) { in visitIMINMAX()
2703 SDValue DAGCombiner::SimplifyBinOpWithSameOpcodeHands(SDNode *N) { in SimplifyBinOpWithSameOpcodeHands()
2858 SDValue DAGCombiner::visitANDLike(SDValue N0, SDValue N1, in visitANDLike()
3008 bool DAGCombiner::isAndLoadExtLoad(ConstantSDNode *AndC, LoadSDNode *LoadN, in isAndLoadExtLoad()
3048 SDValue DAGCombiner::visitAND(SDNode *N) { in visitAND()
3354 SDValue DAGCombiner::MatchBSwapHWordLow(SDNode *N, SDValue N0, SDValue N1, in MatchBSwapHWordLow()
3540 SDValue DAGCombiner::MatchBSwapHWord(SDNode *N, SDValue N0, SDValue N1) { in MatchBSwapHWord()
3613 SDValue DAGCombiner::visitORLike(SDValue N0, SDValue N1, SDNode *LocReference) { in visitORLike()
3708 SDValue DAGCombiner::visitOR(SDNode *N) { in visitOR()
3869 bool DAGCombiner::MatchRotateHalf(SDValue Op, SDValue &Shift, SDValue &Mask) { in MatchRotateHalf()
3995 SDNode *DAGCombiner::MatchRotatePosNeg(SDValue Shifted, SDValue Pos, in MatchRotatePosNeg()
4019 SDNode *DAGCombiner::MatchRotate(SDValue LHS, SDValue RHS, const SDLoc &DL) { in MatchRotate()
4127 SDValue DAGCombiner::visitXOR(SDNode *N) { in visitXOR()
4292 SDValue DAGCombiner::visitShiftByConstant(SDNode *N, ConstantSDNode *Amt) { in visitShiftByConstant()
4364 SDValue DAGCombiner::distributeTruncateThroughAnd(SDNode *N) { in distributeTruncateThroughAnd()
4390 SDValue DAGCombiner::visitRotate(SDNode *N) { in visitRotate()
4402 SDValue DAGCombiner::visitSHL(SDNode *N) { in visitSHL()
4614 SDValue DAGCombiner::visitSRA(SDNode *N) { in visitSRA()
4760 SDValue DAGCombiner::visitSRL(SDNode *N) { in visitSRL()
4961 SDValue DAGCombiner::visitBSWAP(SDNode *N) { in visitBSWAP()
4974 SDValue DAGCombiner::visitBITREVERSE(SDNode *N) { in visitBITREVERSE()
4983 SDValue DAGCombiner::visitCTLZ(SDNode *N) { in visitCTLZ()
4993 SDValue DAGCombiner::visitCTLZ_ZERO_UNDEF(SDNode *N) { in visitCTLZ_ZERO_UNDEF()
5003 SDValue DAGCombiner::visitCTTZ(SDNode *N) { in visitCTTZ()
5013 SDValue DAGCombiner::visitCTTZ_ZERO_UNDEF(SDNode *N) { in visitCTTZ_ZERO_UNDEF()
5023 SDValue DAGCombiner::visitCTPOP(SDNode *N) { in visitCTPOP()
5070 SDValue DAGCombiner::visitSELECT(SDNode *N) { in visitSELECT()
5326 SDValue DAGCombiner::visitMSCATTER(SDNode *N) { in visitMSCATTER()
5387 SDValue DAGCombiner::visitMSTORE(SDNode *N) { in visitMSTORE()
5461 SDValue DAGCombiner::visitMGATHER(SDNode *N) { in visitMGATHER()
5538 SDValue DAGCombiner::visitMLOAD(SDNode *N) { in visitMLOAD()
5624 SDValue DAGCombiner::visitVSELECT(SDNode *N) { in visitVSELECT()
5712 SDValue DAGCombiner::visitSELECT_CC(SDNode *N) { in visitSELECT_CC()
5754 SDValue DAGCombiner::visitSETCC(SDNode *N) { in visitSETCC()
5760 SDValue DAGCombiner::visitSETCCE(SDNode *N) { in visitSETCCE()
5897 void DAGCombiner::ExtendSetCCUses(const SmallVectorImpl<SDNode *> &SetCCs, in ExtendSetCCUses()
5919 SDValue DAGCombiner::CombineExtLoad(SDNode *N) { in CombineExtLoad()
6014 SDValue DAGCombiner::visitSIGN_EXTEND(SDNode *N) { in visitSIGN_EXTEND()
6273 SDValue DAGCombiner::visitZERO_EXTEND(SDNode *N) { in visitZERO_EXTEND()
6570 SDValue DAGCombiner::visitANY_EXTEND(SDNode *N) { in visitANY_EXTEND()
6724 SDValue DAGCombiner::GetDemandedBits(SDValue V, const APInt &Mask) { in GetDemandedBits()
6768 SDValue DAGCombiner::ReduceLoadWidth(SDNode *N) { in ReduceLoadWidth()
6940 SDValue DAGCombiner::visitSIGN_EXTEND_INREG(SDNode *N) { in visitSIGN_EXTEND_INREG()
7047 SDValue DAGCombiner::visitSIGN_EXTEND_VECTOR_INREG(SDNode *N) { in visitSIGN_EXTEND_VECTOR_INREG()
7061 SDValue DAGCombiner::visitZERO_EXTEND_VECTOR_INREG(SDNode *N) { in visitZERO_EXTEND_VECTOR_INREG()
7075 SDValue DAGCombiner::visitTRUNCATE(SDNode *N) { in visitTRUNCATE()
7312 SDValue DAGCombiner::CombineConsecutiveLoads(SDNode *N, EVT VT) { in CombineConsecutiveLoads()
7387 SDValue DAGCombiner::visitBITCAST(SDNode *N) { in visitBITCAST()
7633 SDValue DAGCombiner::visitBUILD_PAIR(SDNode *N) { in visitBUILD_PAIR()
7640 SDValue DAGCombiner::
7761 SDValue DAGCombiner::visitFADDForFMACombine(SDNode *N) { in visitFADDForFMACombine()
7949 SDValue DAGCombiner::visitFSUBForFMACombine(SDNode *N) { in visitFSUBForFMACombine()
8217 SDValue DAGCombiner::visitFMULForFMACombine(SDNode *N) { in visitFMULForFMACombine()
8298 SDValue DAGCombiner::visitFADD(SDNode *N) { in visitFADD()
8446 SDValue DAGCombiner::visitFSUB(SDNode *N) { in visitFSUB()
8511 SDValue DAGCombiner::visitFMUL(SDNode *N) { in visitFMUL()
8614 SDValue DAGCombiner::visitFMA(SDNode *N) { in visitFMA()
8719 SDValue DAGCombiner::combineRepeatedFPDivisors(SDNode *N) { in combineRepeatedFPDivisors()
8776 SDValue DAGCombiner::visitFDIV(SDNode *N) { in visitFDIV()
8886 SDValue DAGCombiner::visitFREM(SDNode *N) { in visitFREM()
8901 SDValue DAGCombiner::visitFSQRT(SDNode *N) { in visitFSQRT()
8929 SDValue DAGCombiner::visitFCOPYSIGN(SDNode *N) { in visitFCOPYSIGN()
8979 SDValue DAGCombiner::visitSINT_TO_FP(SDNode *N) { in visitSINT_TO_FP()
9033 SDValue DAGCombiner::visitUINT_TO_FP(SDNode *N) { in visitUINT_TO_FP()
9115 SDValue DAGCombiner::visitFP_TO_SINT(SDNode *N) { in visitFP_TO_SINT()
9126 SDValue DAGCombiner::visitFP_TO_UINT(SDNode *N) { in visitFP_TO_UINT()
9137 SDValue DAGCombiner::visitFP_ROUND(SDNode *N) { in visitFP_ROUND()
9190 SDValue DAGCombiner::visitFP_ROUND_INREG(SDNode *N) { in visitFP_ROUND_INREG()
9206 SDValue DAGCombiner::visitFP_EXTEND(SDNode *N) { in visitFP_EXTEND()
9256 SDValue DAGCombiner::visitFCEIL(SDNode *N) { in visitFCEIL()
9267 SDValue DAGCombiner::visitFTRUNC(SDNode *N) { in visitFTRUNC()
9278 SDValue DAGCombiner::visitFFLOOR(SDNode *N) { in visitFFLOOR()
9290 SDValue DAGCombiner::visitFNEG(SDNode *N) { in visitFNEG()
9348 SDValue DAGCombiner::visitFMINNUM(SDNode *N) { in visitFMINNUM()
9369 SDValue DAGCombiner::visitFMAXNUM(SDNode *N) { in visitFMAXNUM()
9390 SDValue DAGCombiner::visitFABS(SDNode *N) { in visitFABS()
9436 SDValue DAGCombiner::visitBRCOND(SDNode *N) { in visitBRCOND()
9583 SDValue DAGCombiner::visitBR_CC(SDNode *N) { in visitBR_CC()
9659 bool DAGCombiner::CombineToPreIndexedLoadStore(SDNode *N) { in CombineToPreIndexedLoadStore()
9886 bool DAGCombiner::CombineToPostIndexedLoadStore(SDNode *N) { in CombineToPostIndexedLoadStore()
10003 SDValue DAGCombiner::SplitIndexingFromLoad(LoadSDNode *LD) { in SplitIndexingFromLoad()
10026 SDValue DAGCombiner::visitLOAD(SDNode *N) { in visitLOAD()
10621 bool DAGCombiner::SliceUpLoad(SDNode *N) { in SliceUpLoad()
10797 DAGCombiner *DC) { in ShrinkLoadReplaceStoreWithStore()
10855 SDValue DAGCombiner::ReduceLoadOpStoreWidth(SDNode *N) { in ReduceLoadOpStoreWidth()
10983 SDValue DAGCombiner::TransformFPLoadStorePair(SDNode *N) { in TransformFPLoadStorePair()
11152 bool DAGCombiner::isMulAddWithConstProfitable(SDNode *MulNode, in isMulAddWithConstProfitable()
11214 SDValue DAGCombiner::getMergedConstantVectorStore( in getMergedConstantVectorStore()
11228 bool DAGCombiner::MergeStoresOfConstantsOrVecElts( in MergeStoresOfConstantsOrVecElts()
11357 void DAGCombiner::getStoreMergeAndAliasCandidates( in getStoreMergeAndAliasCandidates()
11477 bool DAGCombiner::checkMergeStoreCandidatesForDependencies( in checkMergeStoreCandidatesForDependencies()
11496 bool DAGCombiner::MergeConsecutiveStores(StoreSDNode* St) { in MergeConsecutiveStores()
11905 SDValue DAGCombiner::replaceStoreChain(StoreSDNode *ST, SDValue BetterChain) { in replaceStoreChain()
11930 SDValue DAGCombiner::replaceStoreOfFPConstant(StoreSDNode *ST) { in replaceStoreOfFPConstant()
12013 SDValue DAGCombiner::visitSTORE(SDNode *N) { in visitSTORE()
12181 SDValue DAGCombiner::visitINSERT_VECTOR_ELT(SDNode *N) { in visitINSERT_VECTOR_ELT()
12255 SDValue DAGCombiner::ReplaceExtractVectorEltOfLoadWithNarrowedLoad( in ReplaceExtractVectorEltOfLoadWithNarrowedLoad()
12334 SDValue DAGCombiner::visitEXTRACT_VECTOR_ELT(SDNode *N) { in visitEXTRACT_VECTOR_ELT()
12543 SDValue DAGCombiner::reduceBuildVecExtToExtBuildVec(SDNode *N) { in reduceBuildVecExtToExtBuildVec()
12652 SDValue DAGCombiner::reduceBuildVecConvertToConvertBuildVec(SDNode *N) { in reduceBuildVecConvertToConvertBuildVec()
12723 SDValue DAGCombiner::visitBUILD_VECTOR(SDNode *N) { in visitBUILD_VECTOR()
13041 SDValue DAGCombiner::visitCONCAT_VECTORS(SDNode *N) { in visitCONCAT_VECTORS()
13193 SDValue DAGCombiner::visitEXTRACT_SUBVECTOR(SDNode* N) { in visitEXTRACT_SUBVECTOR()
13401 SDValue DAGCombiner::visitVECTOR_SHUFFLE(SDNode *N) { in visitVECTOR_SHUFFLE()
13754 SDValue DAGCombiner::visitSCALAR_TO_VECTOR(SDNode *N) { in visitSCALAR_TO_VECTOR()
13782 SDValue DAGCombiner::visitINSERT_SUBVECTOR(SDNode *N) { in visitINSERT_SUBVECTOR()
13813 SDValue DAGCombiner::visitFP_TO_FP16(SDNode *N) { in visitFP_TO_FP16()
13823 SDValue DAGCombiner::visitFP16_TO_FP(SDNode *N) { in visitFP16_TO_FP()
13842 SDValue DAGCombiner::XformToShuffleWithZero(SDNode *N) { in XformToShuffleWithZero()
13934 SDValue DAGCombiner::SimplifyVBinOp(SDNode *N) { in SimplifyVBinOp()
13976 SDValue DAGCombiner::SimplifySelect(const SDLoc &DL, SDValue N0, SDValue N1, in SimplifySelect()
14009 bool DAGCombiner::SimplifySelectOps(SDNode *TheSelect, SDValue LHS, in SimplifySelectOps()
14160 SDValue DAGCombiner::SimplifySelectCC(const SDLoc &DL, SDValue N0, SDValue N1, in SimplifySelectCC()
14442 SDValue DAGCombiner::SimplifySetCC(EVT VT, SDValue N0, SDValue N1, in SimplifySetCC()
14454 SDValue DAGCombiner::BuildSDIV(SDNode *N) { in BuildSDIV()
14479 SDValue DAGCombiner::BuildSDIVPow2(SDNode *N) { in BuildSDIVPow2()
14500 SDValue DAGCombiner::BuildUDIV(SDNode *N) { in BuildUDIV()
14523 SDValue DAGCombiner::BuildReciprocalEstimate(SDValue Op, SDNodeFlags *Flags) { in BuildReciprocalEstimate()
14572 SDValue DAGCombiner::buildSqrtNROneConst(SDValue Arg, SDValue Est, in buildSqrtNROneConst()
14616 SDValue DAGCombiner::buildSqrtNRTwoConst(SDValue Arg, SDValue Est, in buildSqrtNRTwoConst()
14663 SDValue DAGCombiner::buildSqrtEstimateImpl(SDValue Op, SDNodeFlags *Flags, in buildSqrtEstimateImpl()
14685 SDValue DAGCombiner::buildRsqrtEstimate(SDValue Op, SDNodeFlags *Flags) { in buildRsqrtEstimate()
14689 SDValue DAGCombiner::buildSqrtEstimate(SDValue Op, SDNodeFlags *Flags) { in buildSqrtEstimate()
14747 bool DAGCombiner::isAlias(LSBaseSDNode *Op0, LSBaseSDNode *Op1) const { in isAlias()
14846 void DAGCombiner::GatherAllAliases(SDNode *N, SDValue OriginalChain, in GatherAllAliases()
14927 SDValue DAGCombiner::FindBetterChain(SDNode *N, SDValue OldChain) { in FindBetterChain()
14945 bool DAGCombiner::findBetterNeighborChains(StoreSDNode *St) { in findBetterNeighborChains()
15031 DAGCombiner(*this, AA, OptLevel).Run(Level); in Combine()