reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Scalar/LoopFuse.cpp
  707       for (auto FC0 = CandidateSet.begin(); FC0 != CandidateSet.end(); ++FC0) {
  707       for (auto FC0 = CandidateSet.begin(); FC0 != CandidateSet.end(); ++FC0) {
  708         assert(!LDT.isRemovedLoop(FC0->L) &&
  710         auto FC1 = FC0;
  715           LLVM_DEBUG(dbgs() << "Attempting to fuse candidate \n"; FC0->dump();
  718           FC0->verify();
  721           if (!identicalTripCounts(*FC0, *FC1)) {
  724             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  729           if (!isAdjacent(*FC0, *FC1)) {
  732             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1, NonAdjacent);
  738           if (FC0->GuardBranch && FC1->GuardBranch &&
  739               !haveIdenticalGuards(*FC0, *FC1)) {
  742             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  755             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  760           if (FC0->GuardBranch && !isEmptyExitBlock(*FC0)) {
  760           if (FC0->GuardBranch && !isEmptyExitBlock(*FC0)) {
  763             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  771             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  778           if (!dependencesAllowFusion(*FC0, *FC1)) {
  780             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  785           bool BeneficialToFuse = isBeneficialFusion(*FC0, *FC1);
  790             reportLoopFusion<OptimizationRemarkMissed>(*FC0, *FC1,
  798           LLVM_DEBUG(dbgs() << "\tFusion is performed: " << *FC0 << " and "
  805           reportLoopFusion<OptimizationRemark>(*FC0, *FC1, FuseCounter);
  807           FusionCandidate FusedCand(performFusion(*FC0, *FC1), &DT, &PDT, ORE);
  815           CandidateSet.erase(FC0);
  826           FC0 = FC1 = InsertPos.first;