From: wlei Date: Wed, 20 Jan 2021 00:20:11 +0000 (-0800) Subject: [llvm-profgen][NFC] Fix the incorrect computation of callsite sample count X-Git-Tag: llvmorg-13-init~752 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=daeea961a6d93f301e7a22659a2c203846fd58f2;p=platform%2Fupstream%2Fllvm.git [llvm-profgen][NFC] Fix the incorrect computation of callsite sample count Differential Revision: https://reviews.llvm.org/D95009 --- diff --git a/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test b/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test index 385009d..9beecb2 100644 --- a/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test +++ b/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test @@ -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 diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.cpp b/llvm/tools/llvm-profgen/ProfileGenerator.cpp index 7c5c5e3..265becc 100644 --- a/llvm/tools/llvm-profgen/ProfileGenerator.cpp +++ b/llvm/tools/llvm-profgen/ProfileGenerator.cpp @@ -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); } }