[PATCH] D130072: [BOLT] Support split landing pad for stripped binaries

Huan Nguyen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 11:51:36 PDT 2022


nhuhuan added a comment.

In D130072#3673246 <https://reviews.llvm.org/D130072#3673246>, @rafauler wrote:

> I'm also curious if this adds runtime overhead by parsing LSDA two times per function. Can we measure that using a large binary as input?

Hi @rafaelauler,

Regarding overhead, it shouldn't have (almost) no effect because size of LSDA is
proportional to only C++ exception handling. It is very small amount of code
actually does that.

I measured performance on clang-15, built with function-splitting optimization,
size of 224MB, stripped size of 107MB.

Run parseLSDA once:
real    2m6.791s
user    2m42.277s
sys     0m52.493

Run parseLSDA twice:
real    2m5.329s
user    2m42.036s
sys     0m48.848s

I don't think performance is a problem. But I will make changes to enable this
run-twice mode only for processing stripped binaries.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130072



More information about the llvm-commits mailing list