llvm-6502/lib/Transforms/IPO
Michael Gottesman e0e66b9dfa Update StripDeadDebugInfo to use DebugInfoFinder so that it is no longer stale to the point of not working and more resilient to debug info changes.
The current version of StripDeadDebugInfo became stale and no longer actually
worked since it was expecting an older version of debug info.

This patch updates it to use DebugInfoFinder and the modern DebugInfo classes as
much as possible to make it more redundent to such changes. Additionally, the
only place where that was avoided (the code where we replace the old sets with
the new), I call verify on the DIContextUnit implying that if the format changes
and my live set changes no longer make sense an assert will be hit. In order to
ensure that that occurs I have included a test case.

The actual stripping of the dead debug info follows the same strategy as was
used before in this class: find the live set and replace the old set in the
given compile unit (which may contain dead global variables/functions) with the
new live one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189078 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-23 00:23:24 +00:00
..
ArgumentPromotion.cpp
BarrierNoopPass.cpp
CMakeLists.txt
ConstantMerge.cpp
DeadArgumentElimination.cpp
ExtractGV.cpp
FunctionAttrs.cpp
GlobalDCE.cpp
GlobalOpt.cpp
InlineAlways.cpp
Inliner.cpp
InlineSimple.cpp
Internalize.cpp Move stack protector names to the same place. 2013-08-12 20:09:37 +00:00
IPConstantPropagation.cpp
IPO.cpp
LLVMBuild.txt
LoopExtractor.cpp
Makefile
MergeFunctions.cpp
PartialInlining.cpp
PassManagerBuilder.cpp Also remove logic in LateVectorize 2013-08-13 16:12:04 +00:00
PruneEH.cpp
StripDeadPrototypes.cpp
StripSymbols.cpp Update StripDeadDebugInfo to use DebugInfoFinder so that it is no longer stale to the point of not working and more resilient to debug info changes. 2013-08-23 00:23:24 +00:00