-
-
Notifications
You must be signed in to change notification settings - Fork 268
Add a build target for bolt-optimized ldc? #4228
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
The following optimization of # Instrument LDC
/usr/local/bin/llvm-bolt bin/ldc2 -instrument -o bin/ldc2_instr -instrumentation-file=bolt_profile.fdata
# Run workload which generates a profile
bin/ldc2_instr -c -of=dummy.o include/d/std/*.d include/d/std/regex/*.d include/d/std/regex/internal/*.d -d-version=StdUnittest -unittest -dip1000
# Use the profile to let llvm-bolt optimize our binary
/usr/local/bin/llvm-bolt bin/ldc2 -o bin/ldc2.bolt -data=bolt_profile.fdata \
-reorder-blocks=cache+ -reorder-functions=hfsort+ -split-functions=3 -split-all-cold -icf -split-eh -dyno-stats |
That sounds like it might be worth it. Which |
Forgot to mention, it is on self-built binary with LTO+PGO. (ThinLTO in fact, including LLVM LTO libraries) |
Oh wow! :D - I tried that once, took ages and resulted in no measurable performance gains IIRC. |
See this for clang: https://reviews.llvm.org/rG3dab7fede201
The text was updated successfully, but these errors were encountered: