[lld-macho] Devirtualize TargetInfo::getRelocAttrs
This method is called on each relocation when parsing input files, so the overhead of using virtual functions ends up being quite large. We now have a single non-virtual method, which reads from the appropriate array of relocation attributes set in the TargetInfo constructor. This change results in a modest 2.3% reduction in link time for chromium_framework measured on an x86-64 VPS, and 0.7% on an arm64 Mac. N Min Max Median Avg Stddev x 10 11.869417 12.032609 11.935041 11.938268 0.045802324 + 10 11.581526 11.785265 11.649885 11.659507 0.054634834 Difference at 95.0% confidence -0.278761 +/- 0.0473673 -2.33502% +/- 0.396768% (Student's t, pooled s = 0.0504124) Differential Revision: https://reviews.llvm.org/D130000
Loading
Please sign in to comment