Post #3913090
2026-07-17 16:03 UTC
Friday afternoon is a good time to slack off ^H^H make a tool I wanted. When code is heavily inlined and LTO'd it's not always obvious which functions are actually contributing to the code size. So, use `addr2line` to unwind the inline call stack at every single instruction, add up the instruction sizes attributed to each tree node, and scrape it into an HTML report. Nice to get an idea of "where should I look next"
Replies (1)
-
@wren6991@types.pl 2026-07-17 23:37
Uhhh, I got slightly side-tracked. Clicking on the disassembly link takes you to the lowest-addressed instruction that has that scope as a prefix of its inline call stack. Works pretty well considering the inline call body might not exist as a contiguous piece (it's scheduled with other code) and you may have multiple layers of inline call that optimised to nothing.