-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Description
Hi Tom / release-engineering team,
I've been working on a debug-info variable location feature which missed the llvm-14 branch by a few hours. It was enabled on main for x86_64 for 2 weeks without much trouble, but I turned it off after receiving a reproducer for excessive memory consumption, for which I now have patches. I've got several commits that would need to be cherry picked (below), would you be alright with this being
in llvm14-rc1?
A few faults reported from the initial landing are here, https://reviews.llvm.org/D116821, which I can summarise if needs be, but they're all now fixed. I ended up disabling the feature after some auto-generated code in https://reviews.llvm.org/D116821#3278089 led to a 5x increase in memory consumption, fixed by https://reviews.llvm.org/D118601 adding an upper bound on tracking too much debug-info.
The patches to cherry-pick in would be:
-
14aaaa1 (Re-)Apply max an upper-bound on the amount of debug-info to track,
-
d556eb7 A performance patch (memoize some queries)
-
a80181a Early-free some data structures
-
9fd9d56 Optimise an algorithm to reduce max-rss
-
206cafb Follow up to the above for an accident with asan
-
43de305 Fix for a crash introduced by an unrelated performance opt
-
6e03a68 Re-enable this feature by default for x86_64
The last of these just landed a few minutes ago, so it's worth leaving things ~24h to settle on main. As mentioned, it was on for 2 weeks beforehand without any major incidents.
(If needs be I can cherry-pick -x these to the release branch myself, exactly what the protocol is before -rc1 is unclear to me).