You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once again, ❤️ for building this, once again, in rust-lang/rust-analyzer#10065, llvm-lines was instrumental for getting rid of a major code bloat.
In that issue, llvm-lines quickly identified the leaf bloated functions, but it was not obvious why those monomorphisations are there (indeed, they turned out to be dead code). To figure that out, I used a manual workflow of ctrl+F in the .ll file to follow call-chains of suspicious functions backwards, until I found the root cause of extra monomorphisations (in my case, drop method in trait objects vtable).
It would be very cool If I could somehow automate this process. I thinkcargo-llvm-lines could easily build a static call-graph between all monomorphizations.
I have no idea how to visualize that information in a convenient way though :(
The text was updated successfully, but these errors were encountered:
Once again, ❤️ for building this, once again, in rust-lang/rust-analyzer#10065, llvm-lines was instrumental for getting rid of a major code bloat.
In that issue, llvm-lines quickly identified the leaf bloated functions, but it was not obvious why those monomorphisations are there (indeed, they turned out to be dead code). To figure that out, I used a manual workflow of ctrl+F in the
.ll
file to follow call-chains of suspicious functions backwards, until I found the root cause of extra monomorphisations (in my case,drop
method in trait objects vtable).It would be very cool If I could somehow automate this process. I think
cargo-llvm-lines
could easily build a static call-graph between all monomorphizations.I have no idea how to visualize that information in a convenient way though :(
The text was updated successfully, but these errors were encountered: