diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp | 39 |
1 files changed, 4 insertions, 35 deletions
diff --git a/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp b/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp index 10fda4df51ba..618c6bab3a8f 100644 --- a/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp +++ b/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp @@ -8,44 +8,13 @@ #include "llvm/Transforms/Utils/StripNonLineTableDebugInfo.h" #include "llvm/IR/DebugInfo.h" -#include "llvm/InitializePasses.h" -#include "llvm/Pass.h" -#include "llvm/Transforms/Utils.h" -using namespace llvm; - -namespace { - -/// This pass strips all debug info that is not related line tables. -/// The result will be the same as if the program where compiled with -/// -gline-tables-only. -struct StripNonLineTableDebugLegacyPass : public ModulePass { - static char ID; // Pass identification, replacement for typeid - StripNonLineTableDebugLegacyPass() : ModulePass(ID) { - initializeStripNonLineTableDebugLegacyPassPass( - *PassRegistry::getPassRegistry()); - } - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.setPreservesAll(); - } - - bool runOnModule(Module &M) override { - return llvm::stripNonLineTableDebugInfo(M); - } -}; -} - -char StripNonLineTableDebugLegacyPass::ID = 0; -INITIALIZE_PASS(StripNonLineTableDebugLegacyPass, - "strip-nonlinetable-debuginfo", - "Strip all debug info except linetables", false, false) - -ModulePass *llvm::createStripNonLineTableDebugLegacyPass() { - return new StripNonLineTableDebugLegacyPass(); -} +using namespace llvm; PreservedAnalyses StripNonLineTableDebugInfoPass::run(Module &M, ModuleAnalysisManager &AM) { llvm::stripNonLineTableDebugInfo(M); - return PreservedAnalyses::all(); + PreservedAnalyses PA; + PA.preserveSet<CFGAnalyses>(); + return PA; } |