[lld] [lld][InstrProf] Sort startup functions for compression (PR #107348)
Kyungwoo Lee via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 5 11:06:36 PDT 2024
kyulee-com wrote:
This is a really interesting idea!
It looks like you've added compression constraints (basically utility nodes based on content) on top of the existing startup performance constraints (utility nodes based on execution traces) for the startup symbols. You're trying to run BP to achieve both compressed size and startup performance at the same time.
However, I'm wondering how much of an impact this will have depending on how many startup symbols there are compared to the total number of symbols. If there aren't many startup symbols, maybe shuffling them around won't really change performance or size much. But if there are a lot, this could potentially make startup slower while reducing the size more significantly. Could you share some info on how many startup symbols are involved in this experiment?
Also, I'm a bit confused about what `Remove Startup Hashes` actually means. Are you completely ignoring the startup set and just focusing on compression to measure the upper bound of the compressed size? Or are you still keeping the startup set but not considering the startup traces when ordering them?
https://github.com/llvm/llvm-project/pull/107348
More information about the llvm-commits
mailing list