[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
Tue Sep 22 05:38:34 PDT 2020


Orlando added a comment.

The following builds are with clang @ 485e6db8729 <https://reviews.llvm.org/rG485e6db8729383345da9796218d99843449057ac> (3rd September) targeting x86.

  +---------------------------------------------------------------+
  | File size (bytes) of clang-3.4 built with -O2 -gdwarf-4       |
  *===============================================================*
  |                    | base addr    | no base addr | % change   |
  +--------------------+--------------+--------------+------------+
  | Accumulated object | 1874653208   | 1924003152   | +2.63      |
  | file sizes         |              |              |            |
  +--------------------+--------------+--------------+------------+
  | Elf size           | 527591064    | 513946184    | -2.57      |
  +--------------------+--------------+--------------+------------+
  
  +---------------------------------------------------------------+
  | File size (bytes) of clang-3.4 built with -O2 -gdwarf-5       |
  *===============================================================*
  |                    | base addr    | no base addr | % change   |
  +--------------------+--------------+--------------+------------+
  | Accumulated object | 1501490184   | 1515647496   | +0.94      |
  | file sizes         |              |              |            |
  +--------------------+--------------+--------------+------------+
  | Elf size           | 478841560    | 478725248    | -0.024     |
  +--------------------+--------------+--------------+------------+

The build time difference between all 4 configurations appears to be negligible. For both DWARFv5 and v5, when disabling base address entries, the object files are larger and elfs samller. The delta is more pronounced in DWARFv4, and the elf size reduction is very small for DWARFv5.

The following results are builds of a private benchmark suite (mentioned in previous comments) with downstream clang @ 57d8acac64b <https://reviews.llvm.org/rG57d8acac64b87cb4286b00485fb2da7521fc091e> (27th August) targeting x86.

  +---------------------------------------------------------------+
  | File size (bytes) of benchmark suite built with -O2 -gdwarf-4 |
  *===============================================================*
  |                    | base addr    | no base addr | % change   |
  +--------------------+--------------+--------------+------------+
  | Accumulated object | 51828696     | 57886752     | +11.69     |
  | file sizes         |              |              |            |
  +--------------------+--------------+--------------+------------+
  | Accumulated elf    | 43012748     | 41199724     | -4.22      |
  | file sizes         |              |              |            |
  +--------------------+--------------+--------------+------------+

The results are more extreme but follow the same pattern as the clang-3.4 builds. I don't have the build times or DWARFv5 builds to hand for these benchmarks.


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