[PATCH] D122106: [BOLT] Fix dynamic relocation offset for constant islands

Rafael Auler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 1 17:44:53 PDT 2022


rafauler added a comment.

I think the strategy looks good.  I've been looking at this at the memory profiler, and it doesn't increase memory utilization by much by adding these extra fields to the Relocation class because after BinaryFunction::disassembly(), we call clearList(Relocations), which frees the memory used by relocation objects that are in the text sections.  Relocations associated with data sections still use 0.4% of all memory allocation. The increase in memory utilization is from 48B to 72B (50% increase for this class), which should translate to an overall 0.2% increase in memory utilization for one of our large binaries.

I'm concerned that by emitting so many labels in the data sections, we could slow down the emitter. Could you check by how much time BOLT is slowing down after this patch, in a typical large binary? Just so we are aware and tracking memory and time regressions.

Tagging @maksfb to be aware of the memory regression.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122106/new/

https://reviews.llvm.org/D122106



More information about the llvm-commits mailing list