Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Cost

154   /// Cost of evicting interference.
462 unsigned Cost = TRI->getCostPerUse(PhysReg);
464 // Most registers have 0 additional cost.
465 if (!Cost)
468 DEBUG(dbgs() << PrintReg(PhysReg, TRI) << " is available at cost " << Cost
470 unsigned CheapReg = tryEvict(VirtReg, Order, NewVRegs, Cost);
510 /// @param MaxCost Only look for cheaper candidates and update with new cost
530 EvictionCost Cost;
562 Cost.BrokenHints += 10;
566 // Update eviction cost.
567 Cost.BrokenHints += BreaksHint;
568 Cost.MaxWeight = std::max(Cost.MaxWeight, Intf->weight);
570 if (!(Cost < MaxCost))
577 MaxCost = Cost;
636 // When we are just looking for a reduced cost per use, don't break any
646 DEBUG(dbgs() << RC->getName() << " minimum cost = " << MinCost
652 // the same cost. We don't need to look at them if they're too expensive.
663 // The first use of a callee-saved register in a function has cost 1.
698 /// SpillPlacement and return the static cost of this split in Cost, assuming
702 float &Cost) {
748 Cost = StaticCost;
878 // The static split cost will be zero since Cand.Intf reports no interference.
879 float Cost;
880 if (!addSplitConstraints(Cand.Intf, Cost)) {
905 float Cost = 0;
911 Cost += SpillPlacer->getBlockFrequency(Number);
915 Cost += SpillPlacer->getBlockFrequency(Number);
917 return Cost;
920 /// calcGlobalSplitCost - Return the global split cost of following the split
921 /// pattern in LiveBundles. This cost should be added to the local cost of the
1131 DEBUG(dbgs() << "Cost of isolating all blocks = " << BestCost << '\n');
1160 float Cost;
1161 if (!addSplitConstraints(Cand.Intf, Cost)) {
1165 DEBUG(dbgs() << PrintReg(PhysReg, TRI) << "\tstatic = " << Cost);
1166 if (Cost >= BestCost) {
1186 Cost += calcGlobalSplitCost(Cand);
1188 dbgs() << ", total = " << Cost << " with bundles";
1194 if (Cost < BestCost) {
1196 BestCost = Hysteresis * Cost; // Prevent rounding effects.