[GlobalOpt] Dead Eliminate declarations
authorMehdi Amini <mehdi.amini@apple.com>
Thu, 15 Sep 2016 20:26:27 +0000 (20:26 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Thu, 15 Sep 2016 20:26:27 +0000 (20:26 +0000)
commitd880309835d89413b5cbf4e586d9d0ece4556ece
treec6eadbba3efbe70f012e8a56f226490b396491fc
parent3045d703f6a6fb73edafb80f3142d2d7266af9ec
[GlobalOpt] Dead Eliminate declarations

GlobalOpt is already dead-code-eliminating global definitions. With
this change it also takes care of declarations.
Hopefully this should make it now a strict superset of GlobalDCE.
This is important for LTO/ThinLTO as we don't want the linker to see
"undefined reference" when it processes the input files: it could
prevent proper internalization (or even load an extra file from a
static archive, changing the behavior of the program!).

llvm-svn: 281653
llvm/lib/Transforms/IPO/GlobalOpt.cpp
llvm/test/Transforms/GlobalOpt/deaddeclaration.ll [new file with mode: 0644]