[llvm-profgen][NFC] Fix the incorrect computation of callsite sample count
authorwlei <wlei@fb.com>
Wed, 20 Jan 2021 00:20:11 +0000 (16:20 -0800)
committerwlei <wlei@fb.com>
Wed, 20 Jan 2021 01:50:48 +0000 (17:50 -0800)
Differential Revision: https://reviews.llvm.org/D95009

llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test
llvm/tools/llvm-profgen/ProfileGenerator.cpp

index 385009d..9beecb2 100644 (file)
@@ -7,7 +7,7 @@
 ; CHECK: 2: 2
 ; CHECK: 4: 1
 ; CHECK: 5: 3
-; CHECK:[main:1 @ foo]:9:0
+; CHECK:[main:1 @ foo]:6:0
 ; CHECK: 2: 3
 ; CHECK: 3: 3 bar:3
 
index 7c5c5e3..265becc 100644 (file)
@@ -239,11 +239,9 @@ void CSProfileGenerator::populateFunctionBoundarySamples(
 
     // Record called target sample and its count
     const FrameLocation &LeafLoc = Binary->getInlineLeafFrameLoc(SourceOffset);
-
     FunctionProfile.addCalledTargetSamples(LeafLoc.second.LineOffset,
                                            LeafLoc.second.Discriminator,
                                            CalleeName, Count);
-    FunctionProfile.addTotalSamples(Count);
 
     // Record head sample for called target(callee)
     // TODO: Cleanup ' @ '
@@ -311,8 +309,10 @@ void CSProfileGenerator::populateInferredFunctionSamples() {
         CallerLeafFrameLoc.second.LineOffset,
         CallerLeafFrameLoc.second.Discriminator, CalleeProfile.getName(),
         EstimatedCallCount);
-    updateBodySamplesforFunctionProfile(CallerProfile, CallerLeafFrameLoc,
-                                        EstimatedCallCount);
+    CallerProfile.addBodySamples(CallerLeafFrameLoc.second.LineOffset,
+                                 CallerLeafFrameLoc.second.Discriminator,
+                                 EstimatedCallCount);
+    CallerProfile.addTotalSamples(EstimatedCallCount);
   }
 }