Lines Matching refs:FusionCandidate
145 struct FusionCandidate { struct
186 FusionCandidate(Loop *L, DominatorTree &DT, const PostDominatorTree *PDT, in FusionCandidate() argument
396 bool operator()(const FusionCandidate &LHS, in operator ()()
397 const FusionCandidate &RHS) const { in operator ()()
461 using FusionCandidateSet = std::set<FusionCandidate, FusionCandidateCompare>;
466 const FusionCandidate &FC) { in operator <<()
477 for (const FusionCandidate &FC : CandSet) in operator <<()
657 bool isControlFlowEquivalent(const FusionCandidate &FC0, in isControlFlowEquivalent()
658 const FusionCandidate &FC1) const { in isControlFlowEquivalent()
672 FusionCandidate CurrCand(L, DT, &PDT, ORE, PP); in collectFusionCandidates()
714 bool isBeneficialFusion(const FusionCandidate &FC0, in isBeneficialFusion()
715 const FusionCandidate &FC1) { in isBeneficialFusion()
728 haveIdenticalTripCounts(const FusionCandidate &FC0, in haveIdenticalTripCounts()
729 const FusionCandidate &FC1) const { in haveIdenticalTripCounts()
786 void peelFusionCandidate(FusionCandidate &FC0, const FusionCandidate &FC1, in peelFusionCandidate()
1021 FusionCandidate FC0Copy = *FC0; in fuseCandidates()
1035 FusionCandidate FusedCand( in fuseCandidates()
1076 const FusionCandidate &FC0) const { in canHoistInst()
1139 bool canSinkInst(Instruction &I, const FusionCandidate &FC1) const { in canSinkInst()
1182 const FusionCandidate &FC0, const FusionCandidate &FC1, in collectMovablePreheaderInsts()
1325 bool dependencesAllowFusion(const FusionCandidate &FC0, in dependencesAllowFusion()
1326 const FusionCandidate &FC1, Instruction &I0, in dependencesAllowFusion()
1372 bool dependencesAllowFusion(const FusionCandidate &FC0, in dependencesAllowFusion()
1373 const FusionCandidate &FC1) { in dependencesAllowFusion()
1436 bool isAdjacent(const FusionCandidate &FC0, in isAdjacent()
1437 const FusionCandidate &FC1) const { in isAdjacent()
1445 bool isEmptyPreheader(const FusionCandidate &FC) const { in isEmptyPreheader()
1451 void movePreheaderInsts(const FusionCandidate &FC0, in movePreheaderInsts()
1452 const FusionCandidate &FC1, in movePreheaderInsts()
1498 bool haveIdenticalGuards(const FusionCandidate &FC0, in haveIdenticalGuards()
1499 const FusionCandidate &FC1) const { in haveIdenticalGuards()
1521 void simplifyLatchBranch(const FusionCandidate &FC) const { in simplifyLatchBranch()
1535 void mergeLatch(const FusionCandidate &FC0, const FusionCandidate &FC1) { in mergeLatch()
1572 Loop *performFusion(const FusionCandidate &FC0, const FusionCandidate &FC1) { in performFusion()
1783 void reportLoopFusion(const FusionCandidate &FC0, const FusionCandidate &FC1, in reportLoopFusion()
1814 Loop *fuseGuardedLoops(const FusionCandidate &FC0, in fuseGuardedLoops()
1815 const FusionCandidate &FC1) { in fuseGuardedLoops()