diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp')
-rw-r--r-- | contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp b/contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp index 7fc7ab71cb..4fc71847a0 100644 --- a/contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp +++ b/contrib/libs/llvm12/lib/Transforms/IPO/StripSymbols.cpp @@ -19,21 +19,21 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Transforms/IPO/StripSymbols.h" +#include "llvm/Transforms/IPO/StripSymbols.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DebugInfo.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/Module.h" -#include "llvm/IR/PassManager.h" +#include "llvm/IR/PassManager.h" #include "llvm/IR/TypeFinder.h" #include "llvm/IR/ValueSymbolTable.h" #include "llvm/InitializePasses.h" #include "llvm/Pass.h" #include "llvm/Transforms/IPO.h" #include "llvm/Transforms/Utils/Local.h" - + using namespace llvm; namespace { @@ -252,7 +252,7 @@ bool StripNonDebugSymbols::runOnModule(Module &M) { return StripSymbolNames(M, true); } -static bool stripDebugDeclareImpl(Module &M) { +static bool stripDebugDeclareImpl(Module &M) { Function *Declare = M.getFunction("llvm.dbg.declare"); std::vector<Constant*> DeadConstants; @@ -290,13 +290,13 @@ static bool stripDebugDeclareImpl(Module &M) { return true; } -bool StripDebugDeclare::runOnModule(Module &M) { +bool StripDebugDeclare::runOnModule(Module &M) { if (skipModule(M)) return false; - return stripDebugDeclareImpl(M); -} + return stripDebugDeclareImpl(M); +} -static bool stripDeadDebugInfoImpl(Module &M) { +static bool stripDeadDebugInfoImpl(Module &M) { bool Changed = false; LLVMContext &C = M.getContext(); @@ -377,40 +377,40 @@ static bool stripDeadDebugInfoImpl(Module &M) { return Changed; } - -/// Remove any debug info for global variables/functions in the given module for -/// which said global variable/function no longer exists (i.e. is null). -/// -/// Debugging information is encoded in llvm IR using metadata. This is designed -/// such a way that debug info for symbols preserved even if symbols are -/// optimized away by the optimizer. This special pass removes debug info for -/// such symbols. -bool StripDeadDebugInfo::runOnModule(Module &M) { - if (skipModule(M)) - return false; - return stripDeadDebugInfoImpl(M); -} - -PreservedAnalyses StripSymbolsPass::run(Module &M, ModuleAnalysisManager &AM) { - StripDebugInfo(M); - StripSymbolNames(M, false); - return PreservedAnalyses::all(); -} - -PreservedAnalyses StripNonDebugSymbolsPass::run(Module &M, - ModuleAnalysisManager &AM) { - StripSymbolNames(M, true); - return PreservedAnalyses::all(); -} - -PreservedAnalyses StripDebugDeclarePass::run(Module &M, - ModuleAnalysisManager &AM) { - stripDebugDeclareImpl(M); - return PreservedAnalyses::all(); -} - -PreservedAnalyses StripDeadDebugInfoPass::run(Module &M, - ModuleAnalysisManager &AM) { - stripDeadDebugInfoImpl(M); - return PreservedAnalyses::all(); -} + +/// Remove any debug info for global variables/functions in the given module for +/// which said global variable/function no longer exists (i.e. is null). +/// +/// Debugging information is encoded in llvm IR using metadata. This is designed +/// such a way that debug info for symbols preserved even if symbols are +/// optimized away by the optimizer. This special pass removes debug info for +/// such symbols. +bool StripDeadDebugInfo::runOnModule(Module &M) { + if (skipModule(M)) + return false; + return stripDeadDebugInfoImpl(M); +} + +PreservedAnalyses StripSymbolsPass::run(Module &M, ModuleAnalysisManager &AM) { + StripDebugInfo(M); + StripSymbolNames(M, false); + return PreservedAnalyses::all(); +} + +PreservedAnalyses StripNonDebugSymbolsPass::run(Module &M, + ModuleAnalysisManager &AM) { + StripSymbolNames(M, true); + return PreservedAnalyses::all(); +} + +PreservedAnalyses StripDebugDeclarePass::run(Module &M, + ModuleAnalysisManager &AM) { + stripDebugDeclareImpl(M); + return PreservedAnalyses::all(); +} + +PreservedAnalyses StripDeadDebugInfoPass::run(Module &M, + ModuleAnalysisManager &AM) { + stripDeadDebugInfoImpl(M); + return PreservedAnalyses::all(); +} |