aaupov wrote:

> Do you have benchmarks on how well this performs relative to standard IRPGO 
> (or on top of it)?

Couple of things to untangle here:
1. In general, CSSPGO is meant as a more practical alternative for IRPGO thanks 
to i) the use of sampled profile, ii) context-sensitivity. However, IRPGO is 
still expected to provide better performance in all cases where it's applicable 
thanks to accurate profile information. 
2. Due to that, I don't think it makes sense to apply CSSPGO on top of IRPGO, 
and CMake automation would not permit mixing the two (both implemented as 
LLVM_BUILD_INSTRUMENTED exclusive options).
3. [CSSPGO 
RFC](https://lists.llvm.org/pipermail/llvm-dev/2020-August/144101.html) has 
direct perf comparison of early implementation of CSSPGO vs IRPGO on Spec06:
<img width="1491" alt="Screenshot 2024-01-29 at 9 43 17 PM" 
src="https://github.com/llvm/llvm-project/assets/876514/a921e324-6b5d-4660-9928-0fb0c994649a";>
4. With CMake stuff implemented in this diff, it's expected that the amount of 
profile information collected would be miniscule (in-tree perf-training only 
has a single hello world source file) and inadequate for getting much perf 
boost with CSSPGO (it even prints the warning that it needs 6985000.0x more 
profile). 
5. But I'll kick out a perf run anyway to see what's the starting point. If 
it's zero, I'll try building different targets (in-tree or from LLVM Test 
Suite) to identify a viable profiling workload, but it's outside of scope of 
this diff.

https://github.com/llvm/llvm-project/pull/79942
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to