[llvm] [RemoveDIs] Load into new debug info format by default in llvm-lto and llvm-lto2 (PR #86271)

Orlando Cazalet-Hyams via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 25 02:47:16 PDT 2024


OCHyams wrote:

Thanks @nikic, that wasn't expected, but after looking into it it looks like it's just because we're in a transitory state in the project. With this patch, we pay the cost of auto-upgrading to new-debug-info-mode because writing the new format to bitcode was disabled by default when this patch landed (due to a bot configuration issue -- see discussion starting [here](https://github.com/llvm/llvm-project/pull/83251#issuecomment-2004638233)).

Using a branch for compiletimetracker (OCHyams perf/bitcodeloading) I reverted this patch, enabled bitcode writing by default, then relanded this patch. The stage1-ReleaseLTO-g config pasted below shows that it's not just the improvements from "enable bitcode writing by default" hiding the costs of this patch, but instead that combined together there's an improved reduction in compile time.
```
instructions:u

Commit     stage1-ReleaseLTO-g
2a4246645f 6062M (-0.87%)0.00%) # This patch again
f53953c6d2 6904M (-0.24%)0.00%) # Enable bitcode writing by default
ea3dff12f7 7140M (-0.68%)0.00%) # Revert this patch
b3f98dff75 7806M                # This patch
```

I've re-landed the new-mode bitcode writing by default (cbbbab349e9c412729c3969008cdcb677cc55790) just now, so the transitory cost no longer exists, as we write and read in the new format (no auto-upgrade cost).

TL;DR, this was unexpected and is now understood; it was just temporary and the regression no longer exists as of cbbbab349e9c412729c3969008cdcb677cc55790

https://github.com/llvm/llvm-project/pull/86271


More information about the llvm-commits mailing list