Lines Matching refs:Cand

729 bool RAGreedy::growRegion(GlobalSplitCandidate &Cand) {  in growRegion()  argument
732 SmallVectorImpl<unsigned> &ActiveBlocks = Cand.ActiveBlocks; in growRegion()
767 if (Cand.PhysReg) { in growRegion()
768 if (!addThroughConstraints(Cand.Intf, NewBlocks)) in growRegion()
808 bool RAGreedy::calcCompactRegion(GlobalSplitCandidate &Cand) { in calcCompactRegion() argument
814 Cand.reset(IntfCache, MCRegister::NoRegister); in calcCompactRegion()
820 SpillPlacer->prepare(Cand.LiveBundles); in calcCompactRegion()
824 if (!addSplitConstraints(Cand.Intf, Cost)) { in calcCompactRegion()
829 if (!growRegion(Cand)) { in calcCompactRegion()
836 if (!Cand.LiveBundles.any()) { in calcCompactRegion()
842 for (int I : Cand.LiveBundles.set_bits()) in calcCompactRegion()
870 BlockFrequency RAGreedy::calcGlobalSplitCost(GlobalSplitCandidate &Cand, in calcGlobalSplitCost() argument
873 const BitVector &LiveBundles = Cand.LiveBundles; in calcGlobalSplitCost()
882 Cand.Intf.moveToBlock(BC.Number); in calcGlobalSplitCost()
892 for (unsigned Number : Cand.ActiveBlocks) { in calcGlobalSplitCost()
899 Cand.Intf.moveToBlock(Number); in calcGlobalSplitCost()
900 if (Cand.Intf.hasInterference()) { in calcGlobalSplitCost()
948 GlobalSplitCandidate &Cand = GlobalCand[CandIn]; in splitAroundRegion() local
949 IntvIn = Cand.IntvIdx; in splitAroundRegion()
950 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
951 IntfIn = Cand.Intf.first(); in splitAroundRegion()
957 GlobalSplitCandidate &Cand = GlobalCand[CandOut]; in splitAroundRegion() local
958 IntvOut = Cand.IntvIdx; in splitAroundRegion()
959 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
960 IntfOut = Cand.Intf.last(); in splitAroundRegion()
996 GlobalSplitCandidate &Cand = GlobalCand[CandIn]; in splitAroundRegion() local
997 IntvIn = Cand.IntvIdx; in splitAroundRegion()
998 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
999 IntfIn = Cand.Intf.first(); in splitAroundRegion()
1004 GlobalSplitCandidate &Cand = GlobalCand[CandOut]; in splitAroundRegion() local
1005 IntvOut = Cand.IntvIdx; in splitAroundRegion()
1006 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
1007 IntfOut = Cand.Intf.last(); in splitAroundRegion()
1123 GlobalSplitCandidate &Cand = GlobalCand[NumCands]; in calculateRegionSplitCostAroundReg() local
1124 Cand.reset(IntfCache, PhysReg); in calculateRegionSplitCostAroundReg()
1126 SpillPlacer->prepare(Cand.LiveBundles); in calculateRegionSplitCostAroundReg()
1128 if (!addSplitConstraints(Cand.Intf, Cost)) { in calculateRegionSplitCostAroundReg()
1144 if (!growRegion(Cand)) { in calculateRegionSplitCostAroundReg()
1152 if (!Cand.LiveBundles.any()) { in calculateRegionSplitCostAroundReg()
1157 Cost += calcGlobalSplitCost(Cand, Order); in calculateRegionSplitCostAroundReg()
1160 for (int I : Cand.LiveBundles.set_bits()) in calculateRegionSplitCostAroundReg()
1204 GlobalSplitCandidate &Cand = GlobalCand[BestCand]; in doRegionSplit() local
1205 if (unsigned B = Cand.getBundles(BundleCand, BestCand)) { in doRegionSplit()
1207 Cand.IntvIdx = SE->openIntv(); in doRegionSplit()
1208 LLVM_DEBUG(dbgs() << "Split for " << printReg(Cand.PhysReg, TRI) << " in " in doRegionSplit()
1209 << B << " bundles, intv " << Cand.IntvIdx << ".\n"); in doRegionSplit()
1216 GlobalSplitCandidate &Cand = GlobalCand.front(); in doRegionSplit() local
1217 assert(!Cand.PhysReg && "Compact region has no physreg"); in doRegionSplit()
1218 if (unsigned B = Cand.getBundles(BundleCand, 0)) { in doRegionSplit()
1220 Cand.IntvIdx = SE->openIntv(); in doRegionSplit()
1222 << " bundles, intv " << Cand.IntvIdx << ".\n"); in doRegionSplit()