Lines Matching refs:Cand

727 bool RAGreedy::growRegion(GlobalSplitCandidate &Cand) {  in growRegion()  argument
730 SmallVectorImpl<unsigned> &ActiveBlocks = Cand.ActiveBlocks; in growRegion()
765 if (Cand.PhysReg) { in growRegion()
766 if (!addThroughConstraints(Cand.Intf, NewBlocks)) in growRegion()
806 bool RAGreedy::calcCompactRegion(GlobalSplitCandidate &Cand) { in calcCompactRegion() argument
812 Cand.reset(IntfCache, MCRegister::NoRegister); in calcCompactRegion()
818 SpillPlacer->prepare(Cand.LiveBundles); in calcCompactRegion()
822 if (!addSplitConstraints(Cand.Intf, Cost)) { in calcCompactRegion()
827 if (!growRegion(Cand)) { in calcCompactRegion()
834 if (!Cand.LiveBundles.any()) { in calcCompactRegion()
840 for (int I : Cand.LiveBundles.set_bits()) in calcCompactRegion()
868 BlockFrequency RAGreedy::calcGlobalSplitCost(GlobalSplitCandidate &Cand, in calcGlobalSplitCost() argument
871 const BitVector &LiveBundles = Cand.LiveBundles; in calcGlobalSplitCost()
880 Cand.Intf.moveToBlock(BC.Number); in calcGlobalSplitCost()
890 for (unsigned Number : Cand.ActiveBlocks) { in calcGlobalSplitCost()
897 Cand.Intf.moveToBlock(Number); in calcGlobalSplitCost()
898 if (Cand.Intf.hasInterference()) { in calcGlobalSplitCost()
946 GlobalSplitCandidate &Cand = GlobalCand[CandIn]; in splitAroundRegion() local
947 IntvIn = Cand.IntvIdx; in splitAroundRegion()
948 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
949 IntfIn = Cand.Intf.first(); in splitAroundRegion()
955 GlobalSplitCandidate &Cand = GlobalCand[CandOut]; in splitAroundRegion() local
956 IntvOut = Cand.IntvIdx; in splitAroundRegion()
957 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
958 IntfOut = Cand.Intf.last(); in splitAroundRegion()
994 GlobalSplitCandidate &Cand = GlobalCand[CandIn]; in splitAroundRegion() local
995 IntvIn = Cand.IntvIdx; in splitAroundRegion()
996 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
997 IntfIn = Cand.Intf.first(); in splitAroundRegion()
1002 GlobalSplitCandidate &Cand = GlobalCand[CandOut]; in splitAroundRegion() local
1003 IntvOut = Cand.IntvIdx; in splitAroundRegion()
1004 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
1005 IntfOut = Cand.Intf.last(); in splitAroundRegion()
1121 GlobalSplitCandidate &Cand = GlobalCand[NumCands]; in calculateRegionSplitCostAroundReg() local
1122 Cand.reset(IntfCache, PhysReg); in calculateRegionSplitCostAroundReg()
1124 SpillPlacer->prepare(Cand.LiveBundles); in calculateRegionSplitCostAroundReg()
1126 if (!addSplitConstraints(Cand.Intf, Cost)) { in calculateRegionSplitCostAroundReg()
1142 if (!growRegion(Cand)) { in calculateRegionSplitCostAroundReg()
1150 if (!Cand.LiveBundles.any()) { in calculateRegionSplitCostAroundReg()
1155 Cost += calcGlobalSplitCost(Cand, Order); in calculateRegionSplitCostAroundReg()
1158 for (int I : Cand.LiveBundles.set_bits()) in calculateRegionSplitCostAroundReg()
1202 GlobalSplitCandidate &Cand = GlobalCand[BestCand]; in doRegionSplit() local
1203 if (unsigned B = Cand.getBundles(BundleCand, BestCand)) { in doRegionSplit()
1205 Cand.IntvIdx = SE->openIntv(); in doRegionSplit()
1206 LLVM_DEBUG(dbgs() << "Split for " << printReg(Cand.PhysReg, TRI) << " in " in doRegionSplit()
1207 << B << " bundles, intv " << Cand.IntvIdx << ".\n"); in doRegionSplit()
1214 GlobalSplitCandidate &Cand = GlobalCand.front(); in doRegionSplit() local
1215 assert(!Cand.PhysReg && "Compact region has no physreg"); in doRegionSplit()
1216 if (unsigned B = Cand.getBundles(BundleCand, 0)) { in doRegionSplit()
1218 Cand.IntvIdx = SE->openIntv(); in doRegionSplit()
1220 << " bundles, intv " << Cand.IntvIdx << ".\n"); in doRegionSplit()