Lines Matching refs:FunctionSummary
724 FunctionSummary *findCalleeFunctionSummary(ValueInfo VI, StringRef ModuleId) {
735 if (!isa<FunctionSummary>(GVS->getBaseObject()))
766 if (FunctionSummary *FS = dyn_cast<FunctionSummary>(S))
794 const ConstantRange *findParamAccess(const FunctionSummary &FS,
820 FunctionSummary *FS =
940 std::vector<FunctionSummary::ParamAccess>
943 // into FunctionSummary format.
944 std::vector<FunctionSummary::ParamAccess> ParamAccesses;
954 FunctionSummary::ParamAccess &Param = ParamAccesses.back();
971 for (FunctionSummary::ParamAccess &Param : ParamAccesses) {
972 sort(Param.Calls, [](const FunctionSummary::ParamAccess::Call &L,
973 const FunctionSummary::ParamAccess::Call &R) {
1139 const ConstantRange FullSet(FunctionSummary::ParamAccess::RangeWidth, true);
1146 if (FunctionSummary *FS = dyn_cast<FunctionSummary>(GV.get()))
1152 std::map<const FunctionSummary *, FunctionInfo<FunctionSummary>> Functions;
1157 FunctionSummary *FS = dyn_cast<FunctionSummary>(GV.get());
1161 FunctionInfo<FunctionSummary> FI;
1165 .emplace(PS.ParamNo, FunctionSummary::ParamAccess::RangeWidth)
1170 FunctionSummary *S =
1179 US.Calls.emplace(CallInfo<FunctionSummary>(S, Call.ParamNo),
1192 StackSafetyDataFlowAnalysis<FunctionSummary> SSDFA(
1193 FunctionSummary::ParamAccess::RangeWidth, std::move(Functions));
1195 std::vector<FunctionSummary::ParamAccess> NewParams;
1202 FunctionSummary::ParamAccess &New = NewParams.back();
1206 const_cast<FunctionSummary *>(KV.first)->setParamAccesses(