diff options
author | Fangrui Song <maskray@google.com> | 2019-02-09 09:18:37 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-02-09 09:18:37 +0000 |
commit | 6e679f8ba5d08dac53c8935b55663da826c77396 (patch) | |
tree | edcb94b06506177c529f88ebe9336837e84bb399 /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp | |
parent | c5cb2ce905cdf232348da103cc2e5751b14a45f7 (diff) | |
download | llvm-6e679f8ba5d08dac53c8935b55663da826c77396.zip llvm-6e679f8ba5d08dac53c8935b55663da826c77396.tar.gz llvm-6e679f8ba5d08dac53c8935b55663da826c77396.tar.bz2 |
[GlobalOpt] Simplify __cxa_atexit elimination
cxxDtorIsEmpty checks callers recursively to determine if the
__cxa_atexit-registered function is empty, and eliminates the
__cxa_atexit call accordingly.
This recursive check is unnecessary as redundant instructions and
function calls can be removed by early-cse and inliner. In addition,
cxxDtorIsEmpty does not mark visited function and it may visit a
function exponential times (multiplication principle).
llvm-svn: 353603
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp')
0 files changed, 0 insertions, 0 deletions