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