This is effectively a complete rewrite of the globaldce algorithm, resulting
authorChris Lattner <sabre@nondot.org>
Tue, 16 Sep 2003 19:27:31 +0000 (19:27 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 16 Sep 2003 19:27:31 +0000 (19:27 +0000)
commit1cbcd0fd48869afd12eedf9017dbb545b360c37f
tree13e9fdf9c998443835e1ac241c1d83bcbbb6d080
parentc86e84bcf38a94d0bcd09e76ff127ee636354bc0
This is effectively a complete rewrite of the globaldce algorithm, resulting
in it being both shorter and more effective.  It no longer depends on the
callgraph, so one FIXME has been fixed.

Additionally, this pass was not able to delete recursive (but dead) functions
if they were pointed to by global variables which were also dead.  In fact
this pass had a lot of problems deleting functions which were only pointed
to by dead globals and other stuff.

Fixing this means that the entire EH library should be stripped away now from
programs that don't use sjlj or exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8567 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/GlobalDCE.cpp