D at FOSDEM this weekend

Johan Engelen via Digitalmars-d digitalmars-d at puremagic.com
Tue Feb 7 09:49:27 PST 2017


On Tuesday, 7 February 2017 at 17:05:48 UTC, Johan Engelen wrote:
>
> A recording of Kai's talk is online here: 
> https://fosdem.org/2017/schedule/event/ldc_d_optimization/

Thanks for a nice talk Kai :-)

(please excuse the thread steal)
Some additional answers to the questions raised:

- Using LLVM IR PGO, instead of front-end PGO
Yep... I think frontend PGO is doomed... sad :/ calculating 
statement execution counts from a minimal set of counters was 
nice to work on and interesting code. VCP can be done by the 
backend too (and IIRC _is_ already done) if it has access to 
vtables, etc. To enable backend VCP, I believe clang emits a 
little bit extra (e.g. vtables) to IR where it is not needed 
otherwise. With LTO, the backend already has all the info it 
needs.
Performance-wise, the IR PGO should result in a better profile as 
it can profile optimized code which can be hugely different from 
non-optimized code (inlining!!!).
At the very least, we now have the PGO infrastructure ready and 
can easily provide an IR PGO flag (and should soon!).  When 
Clang/LLVM/LDC versions are in-sync, this should give us 
cross-language LTO+PGO. (^_^)

- Memory alloc call profiling
Something related in progress in LLVM: 
https://reviews.llvm.org/D28965

-Johan


More information about the Digitalmars-d mailing list