Lines Matching refs:TargetsForSlot

613   tryFindVirtualCallTargets(std::vector<VirtualCallTarget> &TargetsForSlot,
621 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
627 void tryICallBranchFunnel(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
632 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
637 bool tryUniformRetValOpt(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
669 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
676 bool tryVirtualConstProp(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
739 bool tryFindVirtualCallTargets(std::vector<ValueInfo> &TargetsForSlot,
743 bool trySingleImplDevirt(MutableArrayRef<ValueInfo> TargetsForSlot,
1056 std::vector<VirtualCallTarget> &TargetsForSlot, in tryFindVirtualCallTargets() argument
1101 TargetsForSlot.push_back({GV, &TM}); in tryFindVirtualCallTargets()
1105 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
1109 std::vector<ValueInfo> &TargetsForSlot, in tryFindVirtualCallTargets() argument
1160 TargetsForSlot.push_back(VTP.FuncVI); in tryFindVirtualCallTargets()
1165 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
1287 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in trySingleImplDevirt() argument
1291 auto *TheFn = TargetsForSlot[0].Fn; in trySingleImplDevirt()
1292 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
1298 TargetsForSlot[0].WasDevirt = true; in trySingleImplDevirt()
1339 bool DevirtIndex::trySingleImplDevirt(MutableArrayRef<ValueInfo> TargetsForSlot, in trySingleImplDevirt() argument
1346 auto TheFn = TargetsForSlot[0]; in trySingleImplDevirt()
1347 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
1402 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryICallBranchFunnel() argument
1408 if (TargetsForSlot.size() > ClThreshold) in tryICallBranchFunnel()
1439 for (auto &T : TargetsForSlot) { in tryICallBranchFunnel()
1547 MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryEvaluateFunctionsWithArgs() argument
1551 for (VirtualCallTarget &Target : TargetsForSlot) { in tryEvaluateFunctionsWithArgs()
1597 MutableArrayRef<VirtualCallTarget> TargetsForSlot, CallSiteInfo &CSInfo, in tryUniformRetValOpt() argument
1601 uint64_t TheRetVal = TargetsForSlot[0].RetVal; in tryUniformRetValOpt()
1602 for (const VirtualCallTarget &Target : TargetsForSlot) in tryUniformRetValOpt()
1611 applyUniformRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), TheRetVal); in tryUniformRetValOpt()
1613 for (auto &&Target : TargetsForSlot) in tryUniformRetValOpt()
1718 unsigned BitWidth, MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryUniqueRetValOpt() argument
1724 for (const VirtualCallTarget &Target : TargetsForSlot) { in tryUniqueRetValOpt()
1745 applyUniqueRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), IsOne, in tryUniqueRetValOpt()
1750 for (auto &&Target : TargetsForSlot) in tryUniqueRetValOpt()
1791 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryVirtualConstProp() argument
1796 auto Fn = dyn_cast<Function>(TargetsForSlot[0].Fn); in tryVirtualConstProp()
1817 for (VirtualCallTarget &Target : TargetsForSlot) { in tryVirtualConstProp()
1834 if (!tryEvaluateFunctionsWithArgs(TargetsForSlot, CSByConstantArg.first)) in tryVirtualConstProp()
1841 if (tryUniformRetValOpt(TargetsForSlot, CSByConstantArg.second, ResByArg)) in tryVirtualConstProp()
1844 if (tryUniqueRetValOpt(BitWidth, TargetsForSlot, CSByConstantArg.second, in tryVirtualConstProp()
1851 findLowestOffset(TargetsForSlot, /*IsAfter=*/false, BitWidth); in tryVirtualConstProp()
1853 findLowestOffset(TargetsForSlot, /*IsAfter=*/true, BitWidth); in tryVirtualConstProp()
1858 for (auto &&Target : TargetsForSlot) { in tryVirtualConstProp()
1875 setBeforeReturnValues(TargetsForSlot, AllocBefore, BitWidth, OffsetByte, in tryVirtualConstProp()
1878 setAfterReturnValues(TargetsForSlot, AllocAfter, BitWidth, OffsetByte, in tryVirtualConstProp()
1882 for (auto &&Target : TargetsForSlot) in tryVirtualConstProp()
1898 TargetsForSlot[0].Fn->getName(), ByteConst, BitConst); in tryVirtualConstProp()
2360 std::vector<VirtualCallTarget> TargetsForSlot; in run() local
2375 if (tryFindVirtualCallTargets(TargetsForSlot, TypeMemberInfos, in run()
2378 if (!trySingleImplDevirt(ExportSummary, TargetsForSlot, S.second, Res)) { in run()
2380 tryVirtualConstProp(TargetsForSlot, S.second, Res, S.first); in run()
2382 tryICallBranchFunnel(TargetsForSlot, S.second, Res, S.first); in run()
2387 for (const auto &T : TargetsForSlot) in run()
2506 std::vector<ValueInfo> TargetsForSlot; in run() local
2514 if (tryFindVirtualCallTargets(TargetsForSlot, *TidSummary, in run()
2517 if (!trySingleImplDevirt(TargetsForSlot, S.first, S.second, Res, in run()