Profile-guided optimization (PGO)

David Nadlinger via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Sun Dec 13 05:21:33 PST 2015


On 11 Dec 2015, at 1:38, Johan Engelen via digitalmars-d-ldc wrote:
> What do you think about "llvm-profdata"? Should we ship that with LDC?

Yes, we should probably ship it with the binary packages. For distro 
packages, we are of course dependent on the LLMV packages to include the 
tools, but at least the Homebrew package actually does.

What is left to do before we can merge a first version into the main 
repository? A partial list:

  - Deal with the remaining FIXME comments (at least open separate 
GitHub issues for them), as well as with commented-out fragments from 
the Clang implementation.

  - Find some way to avoid ICE-type regressions on real-world D code, 
for example by building the druntime/Phobos unit tests with 
instrumentation on.

  - Decide on a name for the command line switches. The GCC-style "-f" 
prefix isn't currently used for most of the options, but that's not 
necessarily much of an argument.

On a rather unrelated note, did you try whether the profile data also 
gives sensible results with llvm-cov? If yes, that might be something 
nice to mention in that upcoming announcement, even though we also have 
DMD-style -cov support, of course.

  — David



More information about the digitalmars-d-ldc mailing list