[PATCH] D68620: DebugInfo: Use base address selection entries for debug_loc

Orlando Cazalet-Hyams via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 14:49:50 PDT 2020


Orlando added a comment.

I have here a copy of the table I shared earlier, with  a new row "ShouldUseBaseAddress=false". The stats for this row are taken at 57d8acac64b <https://reviews.llvm.org/rG57d8acac64b87cb4286b00485fb2da7521fc091e> (D86153 <https://reviews.llvm.org/D86153>) with the changes mentioned in my previous comment (disabling base address specifiers).

  +------------------------------------------------------------------------------------------- +
  | Mean binary size for benchmarks normalized as a percentage of llvm-3 builds                |
  +---------------------------------+------------+------------------+-----------------+--------+
  | llvm version                    | .debug_loc | other debug info | everything else | Total  |
  +---------------------------------+------------+------------------+-----------------+--------+
  | llvm-3                          | 13.7       | 33.2             | 53.1            | 100    |
  | llvm-4                          | 12.7       | 33.8             | 53.8            | 100.3  |
  | llvm-5                          | 13.4       | 35.6             | 54.6            | 103.7  |
  | llvm-7                          | 18.4       | 35.6             | 54.0            | 108.0  |
  | llvm-8                          | 17.5       | 37.1             | 54.5            | 109.1  |
  | llvm-9                          | 19.7       | 37.2             | 54.6            | 111.5  |
  | llvm-10 before dblaikie commit  | 19.8       | 37.4             | 54.9            | 112.1  |
  | llvm-10 with dblaikie commit    | 25.6       | 37.4             | 54.9            | 117.9  |
  | llvm-10                         | 25.8       | 37.5             | 54.8            | 118.1  |
  | llvm-master before my commits   | 26.2       | 37.4             | 54.8            | 118.4  |
  | llvm-master with my commits     | 18.4       | 35.5             | 55.3            | 109.3  |
  | ShouldUseBaseAddress=false      | 14.9       | 35.5             | 55.3            | 105.7  |
  +---------------------------------+------------+------------------+-----------------+--------+

When disabling the base address specifier - for these benchmarks (-O2 -gdwarf-4) - there is a 3.3% reduction in total file size again, with .debug_loc 19% smaller. This brings the binary sizes nearly in line with llvm-5.

I'm PTO tomorrow but I'd be happy to continue looking into this when I'm back if that would be useful.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68620



More information about the llvm-commits mailing list