aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-02-09 09:18:37 +0000
committerFangrui Song <maskray@google.com>2019-02-09 09:18:37 +0000
commit6e679f8ba5d08dac53c8935b55663da826c77396 (patch)
treeedcb94b06506177c529f88ebe9336837e84bb399 /llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
parentc5cb2ce905cdf232348da103cc2e5751b14a45f7 (diff)
downloadllvm-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