Lines Matching refs:TargetsForSlot

566   tryFindVirtualCallTargets(std::vector<VirtualCallTarget> &TargetsForSlot,
573 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
579 void tryICallBranchFunnel(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
584 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
589 bool tryUniformRetValOpt(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
621 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
628 bool tryVirtualConstProp(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
674 bool tryFindVirtualCallTargets(std::vector<ValueInfo> &TargetsForSlot,
678 bool trySingleImplDevirt(MutableArrayRef<ValueInfo> TargetsForSlot,
971 std::vector<VirtualCallTarget> &TargetsForSlot, in tryFindVirtualCallTargets() argument
1000 TargetsForSlot.push_back({Fn, &TM}); in tryFindVirtualCallTargets()
1004 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
1008 std::vector<ValueInfo> &TargetsForSlot, const TypeIdCompatibleVtableInfo TIdInfo, in tryFindVirtualCallTargets() argument
1056 TargetsForSlot.push_back(VTP.FuncVI); in tryFindVirtualCallTargets()
1061 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
1143 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in trySingleImplDevirt() argument
1147 Function *TheFn = TargetsForSlot[0].Fn; in trySingleImplDevirt()
1148 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
1154 TargetsForSlot[0].WasDevirt = true; in trySingleImplDevirt()
1195 bool DevirtIndex::trySingleImplDevirt(MutableArrayRef<ValueInfo> TargetsForSlot, in trySingleImplDevirt() argument
1202 auto TheFn = TargetsForSlot[0]; in trySingleImplDevirt()
1203 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
1258 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryICallBranchFunnel() argument
1264 if (TargetsForSlot.size() > ClThreshold) in tryICallBranchFunnel()
1295 for (auto &T : TargetsForSlot) { in tryICallBranchFunnel()
1387 MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryEvaluateFunctionsWithArgs() argument
1391 for (VirtualCallTarget &Target : TargetsForSlot) { in tryEvaluateFunctionsWithArgs()
1429 MutableArrayRef<VirtualCallTarget> TargetsForSlot, CallSiteInfo &CSInfo, in tryUniformRetValOpt() argument
1433 uint64_t TheRetVal = TargetsForSlot[0].RetVal; in tryUniformRetValOpt()
1434 for (const VirtualCallTarget &Target : TargetsForSlot) in tryUniformRetValOpt()
1443 applyUniformRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), TheRetVal); in tryUniformRetValOpt()
1445 for (auto &&Target : TargetsForSlot) in tryUniformRetValOpt()
1550 unsigned BitWidth, MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryUniqueRetValOpt() argument
1556 for (const VirtualCallTarget &Target : TargetsForSlot) { in tryUniqueRetValOpt()
1577 applyUniqueRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), IsOne, in tryUniqueRetValOpt()
1582 for (auto &&Target : TargetsForSlot) in tryUniqueRetValOpt()
1623 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryVirtualConstProp() argument
1626 auto RetType = dyn_cast<IntegerType>(TargetsForSlot[0].Fn->getReturnType()); in tryVirtualConstProp()
1643 for (VirtualCallTarget &Target : TargetsForSlot) { in tryVirtualConstProp()
1653 if (!tryEvaluateFunctionsWithArgs(TargetsForSlot, CSByConstantArg.first)) in tryVirtualConstProp()
1660 if (tryUniformRetValOpt(TargetsForSlot, CSByConstantArg.second, ResByArg)) in tryVirtualConstProp()
1663 if (tryUniqueRetValOpt(BitWidth, TargetsForSlot, CSByConstantArg.second, in tryVirtualConstProp()
1670 findLowestOffset(TargetsForSlot, /*IsAfter=*/false, BitWidth); in tryVirtualConstProp()
1672 findLowestOffset(TargetsForSlot, /*IsAfter=*/true, BitWidth); in tryVirtualConstProp()
1677 for (auto &&Target : TargetsForSlot) { in tryVirtualConstProp()
1694 setBeforeReturnValues(TargetsForSlot, AllocBefore, BitWidth, OffsetByte, in tryVirtualConstProp()
1697 setAfterReturnValues(TargetsForSlot, AllocAfter, BitWidth, OffsetByte, in tryVirtualConstProp()
1701 for (auto &&Target : TargetsForSlot) in tryVirtualConstProp()
1717 TargetsForSlot[0].Fn->getName(), ByteConst, BitConst); in tryVirtualConstProp()
2129 std::vector<VirtualCallTarget> TargetsForSlot; in run() local
2144 if (tryFindVirtualCallTargets(TargetsForSlot, TypeMemberInfos, in run()
2147 if (!trySingleImplDevirt(ExportSummary, TargetsForSlot, S.second, Res)) { in run()
2149 tryVirtualConstProp(TargetsForSlot, S.second, Res, S.first); in run()
2151 tryICallBranchFunnel(TargetsForSlot, S.second, Res, S.first); in run()
2156 for (const auto &T : TargetsForSlot) in run()
2256 std::vector<ValueInfo> TargetsForSlot; in run() local
2265 if (tryFindVirtualCallTargets(TargetsForSlot, *TidSummary, in run()
2268 if (!trySingleImplDevirt(TargetsForSlot, S.first, S.second, Res, in run()