Lines Matching defs:FuncOverlap

677     OverlapStats FuncOverlap(OverlapStats::FunctionLevel);
678 FuncOverlap.setFuncInfo(I.Name, I.Hash);
680 WC->Writer.overlapRecord(std::move(I), Overlap, FuncOverlap, FuncFilter);
681 FuncOverlap.dump(OS);
2077 const SampleOverlapStats &FuncOverlap) const;
2088 /// This function updates statistics in FuncOverlap, HotBlockOverlap, and
2093 SampleOverlapStats &FuncOverlap,
2096 /// This function updates statistics in FuncOverlap, HotBlockOverlap, and
2100 SampleOverlapStats &FuncOverlap,
2113 SampleOverlapStats &FuncOverlap);
2131 SampleOverlapStats *FuncOverlap,
2159 const SampleOverlapStats &FuncOverlap) const {
2162 if (FuncOverlap.BaseSample > 0)
2163 BaseFrac = static_cast<double>(BaseSample) / FuncOverlap.BaseSample;
2164 if (FuncOverlap.TestSample > 0)
2165 TestFrac = static_cast<double>(TestSample) / FuncOverlap.TestSample;
2215 SampleOverlapStats &FuncOverlap, double &Difference, MatchStatus Status) {
2220 FuncOverlap.BaseUniqueSample += BaseSample;
2223 FuncOverlap.TestUniqueSample += TestSample;
2225 ++FuncOverlap.OverlapCount;
2228 FuncOverlap.UnionSample += std::max(BaseSample, TestSample);
2229 FuncOverlap.OverlapSample += std::min(BaseSample, TestSample);
2231 1.0 - computeBlockSimilarity(BaseSample, TestSample, FuncOverlap);
2236 const sampleprof::FunctionSamples &Func, SampleOverlapStats &FuncOverlap,
2244 FuncStats.HotBlockCount, FuncOverlap,
2249 FuncStats.HotBlockCount, FuncOverlap,
2257 SampleOverlapStats &FuncOverlap) {
2280 updateOverlapStatsForFunction(BaseSample, TestSample, 1, FuncOverlap,
2306 updateForUnmatchedCallee(F.second, FuncOverlap, Difference,
2325 updateForUnmatchedCallee(Callee->second, FuncOverlap, Difference,
2333 FuncOverlap);
2385 SampleOverlapStats *FuncOverlap, uint64_t BaseFuncSample,
2399 assert(FuncOverlap != nullptr &&
2400 "FuncOverlap should be provided in this case");
2402 *BaseFunc, *TestFunc, *FuncOverlap);
2429 SampleOverlapStats FuncOverlap;
2430 FuncOverlap.TestName = TestFunc.second.getContext();
2431 assert(TestStats.count(FuncOverlap.TestName) &&
2434 FuncOverlap.TestSample = TestStats[FuncOverlap.TestName].SampleSum;
2437 const auto Match = BaseFuncProf.find(FuncOverlap.TestName);
2439 const FuncSampleStats &FuncStats = TestStats[FuncOverlap.TestName];
2442 FuncOverlap.TestUniqueSample = FuncStats.SampleSum;
2458 FuncOverlap.BaseName = Match->second->getContext();
2459 assert(BaseStats.count(FuncOverlap.BaseName) &&
2462 FuncOverlap.BaseSample = BaseStats[FuncOverlap.BaseName].SampleSum;
2464 FuncOverlap.Similarity = computeSampleFunctionOverlap(
2465 Match->second, &TestFunc.second, &FuncOverlap, FuncOverlap.BaseSample,
2466 FuncOverlap.TestSample);
2468 weightByImportance(FuncOverlap.Similarity, FuncOverlap.BaseSample,
2469 FuncOverlap.TestSample);
2470 ProfOverlap.OverlapSample += FuncOverlap.OverlapSample;
2471 ProfOverlap.UnionSample += FuncOverlap.UnionSample;
2475 ProfOverlap.BaseUniqueSample += FuncOverlap.BaseUniqueSample;
2476 ProfOverlap.TestUniqueSample += FuncOverlap.TestUniqueSample;
2485 assert(TestStats.count(FuncOverlap.TestName) &&
2488 if (TestStats[FuncOverlap.TestName].MaxSample >= FuncFilter.ValueCutoff ||
2489 (Matched && FuncOverlap.Similarity < LowSimilarityThreshold) ||
2491 FuncOverlap.BaseName.toString().find(FuncFilter.NameFilter) !=
2495 FuncOverlap.BaseWeight =
2496 static_cast<double>(FuncOverlap.BaseSample) / ProfOverlap.BaseSample;
2499 FuncOverlap.TestWeight =
2500 static_cast<double>(FuncOverlap.TestSample) / ProfOverlap.TestSample;
2501 FuncSimilarityDump.emplace(FuncOverlap.BaseWeight, FuncOverlap);