Lines Matching refs:TargetsForSlot

462   tryFindVirtualCallTargets(std::vector<VirtualCallTarget> &TargetsForSlot,
468 bool trySingleImplDevirt(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
474 void tryICallBranchFunnel(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
479 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
484 bool tryUniformRetValOpt(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
516 MutableArrayRef<VirtualCallTarget> TargetsForSlot,
523 bool tryVirtualConstProp(MutableArrayRef<VirtualCallTarget> TargetsForSlot,
743 std::vector<VirtualCallTarget> &TargetsForSlot, in tryFindVirtualCallTargets() argument
763 TargetsForSlot.push_back({Fn, &TM}); in tryFindVirtualCallTargets()
767 return !TargetsForSlot.empty(); in tryFindVirtualCallTargets()
793 MutableArrayRef<VirtualCallTarget> TargetsForSlot, in trySingleImplDevirt() argument
797 Function *TheFn = TargetsForSlot[0].Fn; in trySingleImplDevirt()
798 for (auto &&Target : TargetsForSlot) in trySingleImplDevirt()
804 TargetsForSlot[0].WasDevirt = true; in trySingleImplDevirt()
842 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryICallBranchFunnel() argument
848 if (TargetsForSlot.size() > ClThreshold) in tryICallBranchFunnel()
879 for (auto &T : TargetsForSlot) { in tryICallBranchFunnel()
973 MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryEvaluateFunctionsWithArgs() argument
977 for (VirtualCallTarget &Target : TargetsForSlot) { in tryEvaluateFunctionsWithArgs()
1012 MutableArrayRef<VirtualCallTarget> TargetsForSlot, CallSiteInfo &CSInfo, in tryUniformRetValOpt() argument
1016 uint64_t TheRetVal = TargetsForSlot[0].RetVal; in tryUniformRetValOpt()
1017 for (const VirtualCallTarget &Target : TargetsForSlot) in tryUniformRetValOpt()
1026 applyUniformRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), TheRetVal); in tryUniformRetValOpt()
1028 for (auto &&Target : TargetsForSlot) in tryUniformRetValOpt()
1131 unsigned BitWidth, MutableArrayRef<VirtualCallTarget> TargetsForSlot, in tryUniqueRetValOpt() argument
1137 for (const VirtualCallTarget &Target : TargetsForSlot) { in tryUniqueRetValOpt()
1158 applyUniqueRetValOpt(CSInfo, TargetsForSlot[0].Fn->getName(), IsOne, in tryUniqueRetValOpt()
1163 for (auto &&Target : TargetsForSlot) in tryUniqueRetValOpt()
1202 MutableArrayRef<VirtualCallTarget> TargetsForSlot, VTableSlotInfo &SlotInfo, in tryVirtualConstProp() argument
1205 auto RetType = dyn_cast<IntegerType>(TargetsForSlot[0].Fn->getReturnType()); in tryVirtualConstProp()
1222 for (VirtualCallTarget &Target : TargetsForSlot) { in tryVirtualConstProp()
1232 if (!tryEvaluateFunctionsWithArgs(TargetsForSlot, CSByConstantArg.first)) in tryVirtualConstProp()
1239 if (tryUniformRetValOpt(TargetsForSlot, CSByConstantArg.second, ResByArg)) in tryVirtualConstProp()
1242 if (tryUniqueRetValOpt(BitWidth, TargetsForSlot, CSByConstantArg.second, in tryVirtualConstProp()
1249 findLowestOffset(TargetsForSlot, /*IsAfter=*/false, BitWidth); in tryVirtualConstProp()
1251 findLowestOffset(TargetsForSlot, /*IsAfter=*/true, BitWidth); in tryVirtualConstProp()
1256 for (auto &&Target : TargetsForSlot) { in tryVirtualConstProp()
1273 setBeforeReturnValues(TargetsForSlot, AllocBefore, BitWidth, OffsetByte, in tryVirtualConstProp()
1276 setAfterReturnValues(TargetsForSlot, AllocAfter, BitWidth, OffsetByte, in tryVirtualConstProp()
1280 for (auto &&Target : TargetsForSlot) in tryVirtualConstProp()
1296 TargetsForSlot[0].Fn->getName(), ByteConst, BitConst); in tryVirtualConstProp()
1663 std::vector<VirtualCallTarget> TargetsForSlot; in run() local
1664 if (tryFindVirtualCallTargets(TargetsForSlot, TypeIdMap[S.first.TypeID], in run()
1673 if (!trySingleImplDevirt(TargetsForSlot, S.second, Res)) { in run()
1675 tryVirtualConstProp(TargetsForSlot, S.second, Res, S.first); in run()
1677 tryICallBranchFunnel(TargetsForSlot, S.second, Res, S.first); in run()
1682 for (const auto &T : TargetsForSlot) in run()