• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/llvmCore-3425.0.34/lib/CodeGen/

Lines Matching refs:Cand

257   void growRegion(GlobalSplitCandidate &Cand);
792 void RAGreedy::growRegion(GlobalSplitCandidate &Cand) {
795 SmallVectorImpl<unsigned> &ActiveBlocks = Cand.ActiveBlocks;
828 if (Cand.PhysReg)
829 addThroughConstraints(Cand.Intf, NewBlocks);
849 bool RAGreedy::calcCompactRegion(GlobalSplitCandidate &Cand) {
855 Cand.reset(IntfCache, 0);
861 SpillPlacer->prepare(Cand.LiveBundles);
863 // The static split cost will be zero since Cand.Intf reports no interference.
865 if (!addSplitConstraints(Cand.Intf, Cost)) {
870 growRegion(Cand);
873 if (!Cand.LiveBundles.any()) {
879 for (int i = Cand.LiveBundles.find_first(); i>=0;
880 i = Cand.LiveBundles.find_next(i))
909 float RAGreedy::calcGlobalSplitCost(GlobalSplitCandidate &Cand) {
911 const BitVector &LiveBundles = Cand.LiveBundles;
928 for (unsigned i = 0, e = Cand.ActiveBlocks.size(); i != e; ++i) {
929 unsigned Number = Cand.ActiveBlocks[i];
936 Cand.Intf.moveToBlock(Number);
937 if (Cand.Intf.hasInterference())
983 GlobalSplitCandidate &Cand = GlobalCand[CandIn];
984 IntvIn = Cand.IntvIdx;
985 Cand.Intf.moveToBlock(Number);
986 IntfIn = Cand.Intf.first();
992 GlobalSplitCandidate &Cand = GlobalCand[CandOut];
993 IntvOut = Cand.IntvIdx;
994 Cand.Intf.moveToBlock(Number);
995 IntfOut = Cand.Intf.last();
1032 GlobalSplitCandidate &Cand = GlobalCand[CandIn];
1033 IntvIn = Cand.IntvIdx;
1034 Cand.Intf.moveToBlock(Number);
1035 IntfIn = Cand.Intf.first();
1040 GlobalSplitCandidate &Cand = GlobalCand[CandOut];
1041 IntvOut = Cand.IntvIdx;
1042 Cand.Intf.moveToBlock(Number);
1043 IntfOut = Cand.Intf.last();
1062 // - Candidate intervals can be assigned to Cand.PhysReg.
1141 GlobalSplitCandidate &Cand = GlobalCand[NumCands];
1142 Cand.reset(IntfCache, PhysReg);
1144 SpillPlacer->prepare(Cand.LiveBundles);
1146 if (!addSplitConstraints(Cand.Intf, Cost)) {
1161 growRegion(Cand);
1166 if (!Cand.LiveBundles.any()) {
1171 Cost += calcGlobalSplitCost(Cand);
1174 for (int i = Cand.LiveBundles.find_first(); i>=0;
1175 i = Cand.LiveBundles.find_next(i))
1199 GlobalSplitCandidate &Cand = GlobalCand[BestCand];
1200 if (unsigned B = Cand.getBundles(BundleCand, BestCand)) {
1202 Cand.IntvIdx = SE->openIntv();
1203 DEBUG(dbgs() << "Split for " << PrintReg(Cand.PhysReg, TRI) << " in "
1204 << B << " bundles, intv " << Cand.IntvIdx << ".\n");
1211 GlobalSplitCandidate &Cand = GlobalCand.front();
1212 assert(!Cand.PhysReg && "Compact region has no physreg");
1213 if (unsigned B = Cand.getBundles(BundleCand, 0)) {
1215 Cand.IntvIdx = SE->openIntv();
1217 << Cand.IntvIdx << ".\n");