-
-
Notifications
You must be signed in to change notification settings - Fork 265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a build target for bolt-optimized ldc? #4228
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: