diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/NameAnonFunctions.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/NameAnonFunctions.cpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Utils/NameAnonFunctions.cpp b/llvm/lib/Transforms/Utils/NameAnonFunctions.cpp index 6629ab8..6dc3520 100644 --- a/llvm/lib/Transforms/Utils/NameAnonFunctions.cpp +++ b/llvm/lib/Transforms/Utils/NameAnonFunctions.cpp @@ -12,6 +12,8 @@ // //===----------------------------------------------------------------------===// +#include "llvm/Transforms/Utils/NameAnonFunctions.h" + #include "llvm/ADT/SmallString.h" #include "llvm/IR/Module.h" #include "llvm/Support/MD5.h" @@ -76,8 +78,8 @@ bool llvm::nameUnamedFunctions(Module &M) { namespace { -// Simple pass that provides a name to every anon function. -class NameAnonFunction : public ModulePass { +// Legacy pass that provides a name to every anon function. +class NameAnonFunctionLegacyPass : public ModulePass { public: /// Pass identification, replacement for typeid @@ -86,19 +88,29 @@ public: /// Specify pass name for debug output const char *getPassName() const override { return "Name Anon Functions"; } - explicit NameAnonFunction() : ModulePass(ID) {} + explicit NameAnonFunctionLegacyPass() : ModulePass(ID) {} bool runOnModule(Module &M) override { return nameUnamedFunctions(M); } }; -char NameAnonFunction::ID = 0; +char NameAnonFunctionLegacyPass::ID = 0; } // anonymous namespace -INITIALIZE_PASS_BEGIN(NameAnonFunction, "name-anon-functions", +PreservedAnalyses NameAnonFunctionPass::run(Module &M, + ModuleAnalysisManager &AM) { + if (!nameUnamedFunctions(M)) + return PreservedAnalyses::all(); + + return PreservedAnalyses::none(); +} + +INITIALIZE_PASS_BEGIN(NameAnonFunctionLegacyPass, "name-anon-functions", "Provide a name to nameless functions", false, false) -INITIALIZE_PASS_END(NameAnonFunction, "name-anon-functions", +INITIALIZE_PASS_END(NameAnonFunctionLegacyPass, "name-anon-functions", "Provide a name to nameless functions", false, false) namespace llvm { -ModulePass *createNameAnonFunctionPass() { return new NameAnonFunction(); } +ModulePass *createNameAnonFunctionPass() { + return new NameAnonFunctionLegacyPass(); +} } |