[llvm] [llvm-profgen] Improve sample profile density (PR #92144)

Lei Wang via llvm-commits llvm-commits at lists.llvm.org
Wed May 22 14:16:29 PDT 2024


================
@@ -768,9 +748,89 @@ void ProfileGenerator::populateBoundarySamplesForAllFunctions(
   }
 }
 
+// Note taht ideally the size should be the number of function's instruction.
+// However, for probe-based profile, we don't have the accurate instruction
+// count for each probe, Instead, the probe sample is the samples count for the
+// block, which is equivelant to total_instruction_samples/num_instruction in
+// one block. Hence, we use the number of probe as a proxy for the function's
+// size.
+void ProfileGeneratorBase::calculateBodySamplesAndSize(
+    const FunctionSamples &FSamples, uint64_t &TotalBodySamples,
----------------
wlei-llvm wrote:

May still not accurate for AutoFDO to use the `start_address - end_address`, `start_address - end_address` is also not equal to the num of instruction since instruction size is not always 1.  

https://github.com/llvm/llvm-project/pull/92144


More information about the llvm-commits mailing list