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

References

lib/Transforms/Scalar/LoopStrengthReduce.cpp
 1027     C.Insns = 0;
 1028     C.NumRegs = 0;
 1029     C.AddRecCost = 0;
 1030     C.NumIVMuls = 0;
 1031     C.NumBaseAdds = 0;
 1032     C.ImmCost = 0;
 1033     C.SetupCost = 0;
 1034     C.ScaleCost = 0;
 1044     return ((C.Insns | C.NumRegs | C.AddRecCost | C.NumIVMuls | C.NumBaseAdds
 1044     return ((C.Insns | C.NumRegs | C.AddRecCost | C.NumIVMuls | C.NumBaseAdds
 1044     return ((C.Insns | C.NumRegs | C.AddRecCost | C.NumIVMuls | C.NumBaseAdds
 1044     return ((C.Insns | C.NumRegs | C.AddRecCost | C.NumIVMuls | C.NumBaseAdds
 1044     return ((C.Insns | C.NumRegs | C.AddRecCost | C.NumIVMuls | C.NumBaseAdds
 1045              | C.ImmCost | C.SetupCost | C.ScaleCost) != ~0u)
 1045              | C.ImmCost | C.SetupCost | C.ScaleCost) != ~0u)
 1045              | C.ImmCost | C.SetupCost | C.ScaleCost) != ~0u)
 1046       || ((C.Insns & C.NumRegs & C.AddRecCost & C.NumIVMuls & C.NumBaseAdds
 1046       || ((C.Insns & C.NumRegs & C.AddRecCost & C.NumIVMuls & C.NumBaseAdds
 1046       || ((C.Insns & C.NumRegs & C.AddRecCost & C.NumIVMuls & C.NumBaseAdds
 1046       || ((C.Insns & C.NumRegs & C.AddRecCost & C.NumIVMuls & C.NumBaseAdds
 1046       || ((C.Insns & C.NumRegs & C.AddRecCost & C.NumIVMuls & C.NumBaseAdds
 1047            & C.ImmCost & C.SetupCost & C.ScaleCost) == ~0u);
 1047            & C.ImmCost & C.SetupCost & C.ScaleCost) == ~0u);
 1047            & C.ImmCost & C.SetupCost & C.ScaleCost) == ~0u);
 1053     return C.NumRegs == ~0u;
 1255       ++C.NumRegs;
 1281     C.AddRecCost += LoopCost;
 1293   ++C.NumRegs;
 1297   C.SetupCost += getSetupCost(Reg, SetupCostDepthLimit);
 1299   C.SetupCost = std::min<unsigned>(C.SetupCost, 1 << 16);
 1299   C.SetupCost = std::min<unsigned>(C.SetupCost, 1 << 16);
 1301   C.NumIVMuls += isa<SCEVMulExpr>(Reg) &&
 1329   unsigned PrevAddRecCost = C.AddRecCost;
 1330   unsigned PrevNumRegs = C.NumRegs;
 1331   unsigned PrevNumBaseAdds = C.NumBaseAdds;
 1356     C.NumBaseAdds +=
 1358   C.NumBaseAdds += (F.UnfoldedOffset != 0);
 1361   C.ScaleCost += getScalingFactorCost(*TTI, LU, F, *L);
 1368       C.ImmCost += 64; // Handle symbolic values conservatively.
 1371       C.ImmCost += APInt(64, Offset, true).getMinSignedBits();
 1378       C.NumBaseAdds++;
 1392   if (C.NumRegs > TTIRegNum) {
 1396       C.Insns += (C.NumRegs - PrevNumRegs);
 1396       C.Insns += (C.NumRegs - PrevNumRegs);
 1398       C.Insns += (C.NumRegs - TTIRegNum);
 1398       C.Insns += (C.NumRegs - TTIRegNum);
 1413     C.Insns++;
 1415   C.Insns += (C.AddRecCost - PrevAddRecCost);
 1415   C.Insns += (C.AddRecCost - PrevAddRecCost);
 1419     C.Insns += C.NumBaseAdds - PrevNumBaseAdds;
 1419     C.Insns += C.NumBaseAdds - PrevNumBaseAdds;
 1425   C.Insns = std::numeric_limits<unsigned>::max();
 1426   C.NumRegs = std::numeric_limits<unsigned>::max();
 1427   C.AddRecCost = std::numeric_limits<unsigned>::max();
 1428   C.NumIVMuls = std::numeric_limits<unsigned>::max();
 1429   C.NumBaseAdds = std::numeric_limits<unsigned>::max();
 1430   C.ImmCost = std::numeric_limits<unsigned>::max();
 1431   C.SetupCost = std::numeric_limits<unsigned>::max();
 1432   C.ScaleCost = std::numeric_limits<unsigned>::max();
 1438       C.Insns != Other.C.Insns)
 1438       C.Insns != Other.C.Insns)
 1439     return C.Insns < Other.C.Insns;
 1439     return C.Insns < Other.C.Insns;
 1440   return TTI->isLSRCostLess(C, Other.C);
 1440   return TTI->isLSRCostLess(C, Other.C);
 1446     OS << C.Insns << " instruction" << (C.Insns == 1 ? " " : "s ");
 1446     OS << C.Insns << " instruction" << (C.Insns == 1 ? " " : "s ");
 1447   OS << C.NumRegs << " reg" << (C.NumRegs == 1 ? "" : "s");
 1447   OS << C.NumRegs << " reg" << (C.NumRegs == 1 ? "" : "s");
 1448   if (C.AddRecCost != 0)
 1449     OS << ", with addrec cost " << C.AddRecCost;
 1450   if (C.NumIVMuls != 0)
 1451     OS << ", plus " << C.NumIVMuls << " IV mul"
 1452        << (C.NumIVMuls == 1 ? "" : "s");
 1453   if (C.NumBaseAdds != 0)
 1454     OS << ", plus " << C.NumBaseAdds << " base add"
 1455        << (C.NumBaseAdds == 1 ? "" : "s");
 1456   if (C.ScaleCost != 0)
 1457     OS << ", plus " << C.ScaleCost << " scale cost";
 1458   if (C.ImmCost != 0)
 1459     OS << ", plus " << C.ImmCost << " imm cost";
 1460   if (C.SetupCost != 0)
 1461     OS << ", plus " << C.SetupCost << " setup cost";