Lines Matching refs:TargetsForSlot

612   tryFindVirtualCallTargets(std::vector<VirtualCallTarget> &TargetsForSlot,
620 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
626 void tryICallBranchFunnel(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
631 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
636 bool tryUniformRetValOpt(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
668 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
675 bool tryVirtualConstProp(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
738 bool tryFindVirtualCallTargets(std::vector<ValueInfo> &TargetsForSlot,
742 bool trySingleImplDevirt(MutableArrayRef<ValueInfo> TargetsForSlot,
993 std::vector<VirtualCallTarget> &TargetsForSlot, in tryFindVirtualCallTargets() argument
1028 TargetsForSlot.push_back({Fn, &TM}); in tryFindVirtualCallTargets()
1032 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
1036 std::vector<ValueInfo> &TargetsForSlot, const TypeIdCompatibleVtableInfo TIdInfo, in tryFindVirtualCallTargets() argument
1087 TargetsForSlot.push_back(VTP.FuncVI); in tryFindVirtualCallTargets()
1092 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
1205 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in trySingleImplDevirt() argument
1209 Function *TheFn = TargetsForSlot[0].Fn; in trySingleImplDevirt()
1210 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
1216 TargetsForSlot[0].WasDevirt = true; in trySingleImplDevirt()
1257 bool DevirtIndex::trySingleImplDevirt(MutableArrayRef<ValueInfo> TargetsForSlot, in trySingleImplDevirt() argument
1264 auto TheFn = TargetsForSlot[0]; in trySingleImplDevirt()
1265 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
1320 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryICallBranchFunnel() argument
1326 if (TargetsForSlot.size() > ClThreshold) in tryICallBranchFunnel()
1357 for (auto &T : TargetsForSlot) { in tryICallBranchFunnel()
1450 MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryEvaluateFunctionsWithArgs() argument
1454 for (VirtualCallTarget &Target : TargetsForSlot) { in tryEvaluateFunctionsWithArgs()
1493 MutableArrayRef<VirtualCallTarget> TargetsForSlot, CallSiteInfo &CSInfo, in tryUniformRetValOpt() argument
1497 uint64_t TheRetVal = TargetsForSlot[0].RetVal; in tryUniformRetValOpt()
1498 for (const VirtualCallTarget &Target : TargetsForSlot) in tryUniformRetValOpt()
1507 applyUniformRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), TheRetVal); in tryUniformRetValOpt()
1509 for (auto &&Target : TargetsForSlot) in tryUniformRetValOpt()
1615 unsigned BitWidth, MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryUniqueRetValOpt() argument
1621 for (const VirtualCallTarget &Target : TargetsForSlot) { in tryUniqueRetValOpt()
1642 applyUniqueRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), IsOne, in tryUniqueRetValOpt()
1647 for (auto &&Target : TargetsForSlot) in tryUniqueRetValOpt()
1690 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryVirtualConstProp() argument
1693 auto RetType = dyn_cast<IntegerType>(TargetsForSlot[0].Fn->getReturnType()); in tryVirtualConstProp()
1710 for (VirtualCallTarget &Target : TargetsForSlot) { in tryVirtualConstProp()
1720 if (!tryEvaluateFunctionsWithArgs(TargetsForSlot, CSByConstantArg.first)) in tryVirtualConstProp()
1727 if (tryUniformRetValOpt(TargetsForSlot, CSByConstantArg.second, ResByArg)) in tryVirtualConstProp()
1730 if (tryUniqueRetValOpt(BitWidth, TargetsForSlot, CSByConstantArg.second, in tryVirtualConstProp()
1737 findLowestOffset(TargetsForSlot, /*IsAfter=*/false, BitWidth); in tryVirtualConstProp()
1739 findLowestOffset(TargetsForSlot, /*IsAfter=*/true, BitWidth); in tryVirtualConstProp()
1744 for (auto &&Target : TargetsForSlot) { in tryVirtualConstProp()
1761 setBeforeReturnValues(TargetsForSlot, AllocBefore, BitWidth, OffsetByte, in tryVirtualConstProp()
1764 setAfterReturnValues(TargetsForSlot, AllocAfter, BitWidth, OffsetByte, in tryVirtualConstProp()
1768 for (auto &&Target : TargetsForSlot) in tryVirtualConstProp()
1784 TargetsForSlot[0].Fn->getName(), ByteConst, BitConst); in tryVirtualConstProp()
2229 std::vector<VirtualCallTarget> TargetsForSlot; in run() local
2244 if (tryFindVirtualCallTargets(TargetsForSlot, TypeMemberInfos, in run()
2247 if (!trySingleImplDevirt(ExportSummary, TargetsForSlot, S.second, Res)) { in run()
2249 tryVirtualConstProp(TargetsForSlot, S.second, Res, S.first); in run()
2251 tryICallBranchFunnel(TargetsForSlot, S.second, Res, S.first); in run()
2256 for (const auto &T : TargetsForSlot) in run()
2358 std::vector<ValueInfo> TargetsForSlot; in run() local
2367 if (tryFindVirtualCallTargets(TargetsForSlot, *TidSummary, in run()
2370 if (!trySingleImplDevirt(TargetsForSlot, S.first, S.second, Res, in run()