[PATCH] D25435: Generate more debug info in -gmlt

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 10 11:53:02 PDT 2016


This'll need a test case - and might be interesting to see how it looks
independent of the other changes to LLVM (I'm guessing the cost of this
change will depend on which side of D25434 it's observed, though) - also it
should probably be on cfe-commits rather than llvm-commits.

On Mon, Oct 10, 2016 at 8:36 AM Dehao Chen <danielcdh at gmail.com> wrote:

> danielcdh created this revision.
> danielcdh added reviewers: dblaikie, echristo, davidxl.
> danielcdh added a subscriber: llvm-commits.
> Herald added a subscriber: mehdi_amini.
>
> SamplePGO binaries built with -gmlt to collect profile. The current -gmlt
> debug info is limited, and we need some additional info:
>
> - start line of all subprograms
> - linkage name of all subprograms
> - standalone subprograms (functions that has neither inlined nor been
> inlined)
>
> This patch adds these information to the -gmlt binary. The impact on
> speccpu2006 binary size (size increase comparing with -g0 binary, also
> includes data for -g binary, which does not change with this patch):
>
>   -gmlt(orig) -gmlt(patched) -g
>
> 433.milc       4.68%       5.40%          19.73%
> 444.namd       8.45%       8.93%          45.99%
> 447.dealII     97.43%      115.21%        374.89%
> 450.soplex     27.75%      31.88%         126.04%
> 453.povray     21.81%      26.16%         92.03%
> 470.lbm        0.60%       0.67%          1.96%
> 482.sphinx3    5.77%       6.47%          26.17%
> 400.perlbench  17.81%      19.43%         73.08%
> 401.bzip2      3.73%       3.92%          12.18%
> 403.gcc        31.75%      34.48%         122.75%
> 429.mcf        0.78%       0.88%          3.89%
> 445.gobmk      6.08%       7.92%          42.27%
> 456.hmmer      10.36%      11.25%         35.23%
> 458.sjeng      5.08%       5.42%          14.36%
> 462.libquantum 1.71%       1.96%          6.36%
> 464.h264ref    15.61%      16.56%         43.92%
> 471.omnetpp    11.93%      15.84%         60.09%
> 473.astar      3.11%       3.69%          14.18%
> 483.xalancbmk  56.29%      81.63%         353.22%
> geomean        15.60%      18.30%         57.81%
>
> Debug info size change for -gmlt binary with this patch:
>
> 433.milc       13.46%
> 444.namd       5.35%
> 447.dealII     18.21%
> 450.soplex     14.68%
> 453.povray     19.65%
> 470.lbm        6.03%
> 482.sphinx3    11.21%
> 400.perlbench  8.91%
> 401.bzip2      4.41%
> 403.gcc        8.56%
> 429.mcf        8.24%
> 445.gobmk      29.47%
> 456.hmmer      8.19%
> 458.sjeng      6.05%
> 462.libquantum 11.23%
> 464.h264ref    5.93%
> 471.omnetpp    31.89%
> 473.astar      16.20%
> 483.xalancbmk  44.62%
> geomean        16.83%
>
>
> https://reviews.llvm.org/D25435
>
> Files:
>   lib/CodeGen/CGDebugInfo.cpp
>
>
> Index: lib/CodeGen/CGDebugInfo.cpp
> ===================================================================
> --- lib/CodeGen/CGDebugInfo.cpp
> +++ lib/CodeGen/CGDebugInfo.cpp
> @@ -2700,9 +2700,7 @@
>    // No need to replicate the linkage name if it isn't different from the
>    // subprogram name, no need to have it at all unless coverage is
> enabled or
>    // debug is set to more than just line tables.
> -  if (LinkageName == Name || (!CGM.getCodeGenOpts().EmitGcovArcs &&
> -                              !CGM.getCodeGenOpts().EmitGcovNotes &&
> -                              DebugKind <=
> codegenoptions::DebugLineTablesOnly))
> +  if (LinkageName == Name)
>      LinkageName = StringRef();
>
>    if (DebugKind >= codegenoptions::LimitedDebugInfo) {
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161010/dfb551de/attachment.html>


More information about the llvm-commits mailing list