[llvm] r281745 - Rename NameAnonFunctions to NameAnonGlobals to match what it is doing (NFC)
Mehdi Amini via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 16 09:56:30 PDT 2016
Author: mehdi_amini
Date: Fri Sep 16 11:56:30 2016
New Revision: 281745
URL: http://llvm.org/viewvc/llvm-project?rev=281745&view=rev
Log:
Rename NameAnonFunctions to NameAnonGlobals to match what it is doing (NFC)
Added:
llvm/trunk/include/llvm/Transforms/Utils/NameAnonGlobals.h
- copied, changed from r281744, llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h
llvm/trunk/lib/Transforms/Utils/NameAnonGlobals.cpp
- copied, changed from r281744, llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp
Removed:
llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h
llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp
Modified:
llvm/trunk/include/llvm/InitializePasses.h
llvm/trunk/include/llvm/Transforms/Scalar.h
llvm/trunk/include/llvm/Transforms/Utils/ModuleUtils.h
llvm/trunk/lib/Passes/PassBuilder.cpp
llvm/trunk/lib/Passes/PassRegistry.def
llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/trunk/lib/Transforms/Utils/CMakeLists.txt
llvm/trunk/lib/Transforms/Utils/Utils.cpp
Modified: llvm/trunk/include/llvm/InitializePasses.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/InitializePasses.h?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/include/llvm/InitializePasses.h (original)
+++ llvm/trunk/include/llvm/InitializePasses.h Fri Sep 16 11:56:30 2016
@@ -244,7 +244,7 @@ void initializeMergedLoadStoreMotionLega
void initializeMetaRenamerPass(PassRegistry&);
void initializeModuleDebugInfoPrinterPass(PassRegistry&);
void initializeModuleSummaryIndexWrapperPassPass(PassRegistry &);
-void initializeNameAnonFunctionLegacyPassPass(PassRegistry &);
+void initializeNameAnonGlobalLegacyPassPass(PassRegistry &);
void initializeNaryReassociateLegacyPassPass(PassRegistry &);
void initializeNoAAPass(PassRegistry&);
void initializeObjCARCAAWrapperPassPass(PassRegistry&);
Modified: llvm/trunk/include/llvm/Transforms/Scalar.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Scalar.h?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Transforms/Scalar.h (original)
+++ llvm/trunk/include/llvm/Transforms/Scalar.h Fri Sep 16 11:56:30 2016
@@ -516,7 +516,7 @@ FunctionPass *createLoopVersioningPass()
FunctionPass *createLoopDataPrefetchPass();
///===---------------------------------------------------------------------===//
-ModulePass *createNameAnonFunctionPass();
+ModulePass *createNameAnonGlobalPass();
} // End llvm namespace
Modified: llvm/trunk/include/llvm/Transforms/Utils/ModuleUtils.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/ModuleUtils.h?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Transforms/Utils/ModuleUtils.h (original)
+++ llvm/trunk/include/llvm/Transforms/Utils/ModuleUtils.h Fri Sep 16 11:56:30 2016
@@ -55,9 +55,9 @@ std::pair<Function *, Function *> create
ArrayRef<Type *> InitArgTypes, ArrayRef<Value *> InitArgs,
StringRef VersionCheckName = StringRef());
-/// Rename all the anon functions in the module using a hash computed from
+/// Rename all the anon globals in the module using a hash computed from
/// the list of public globals in the module.
-bool nameUnamedFunctions(Module &M);
+bool nameUnamedGlobals(Module &M);
} // End llvm namespace
Removed: llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h?rev=281744&view=auto
==============================================================================
--- llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h (original)
+++ llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h (removed)
@@ -1,31 +0,0 @@
-//===-- NameAnonFunctions.h - Anonymous Function Naming Pass ----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file implements naming anonymous function to make sure they can be
-// referred to by ThinLTO.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_TRANSFORMS_UTILS_NAMEANONFUNCTIONS_H
-#define LLVM_TRANSFORMS_UTILS_NAMEANONFUNCTIONS_H
-
-#include "llvm/IR/Module.h"
-#include "llvm/IR/PassManager.h"
-
-namespace llvm {
-
-/// Simple pass that provides a name to every anonymous function.
-class NameAnonFunctionPass : public PassInfoMixin<NameAnonFunctionPass> {
-public:
- NameAnonFunctionPass() {}
- PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
-};
-}
-
-#endif // LLVM_TRANSFORMS_UTILS_NAMEANONFUNCTIONS_H
Copied: llvm/trunk/include/llvm/Transforms/Utils/NameAnonGlobals.h (from r281744, llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/NameAnonGlobals.h?p2=llvm/trunk/include/llvm/Transforms/Utils/NameAnonGlobals.h&p1=llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h&r1=281744&r2=281745&rev=281745&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Transforms/Utils/NameAnonFunctions.h (original)
+++ llvm/trunk/include/llvm/Transforms/Utils/NameAnonGlobals.h Fri Sep 16 11:56:30 2016
@@ -1,4 +1,4 @@
-//===-- NameAnonFunctions.h - Anonymous Function Naming Pass ----*- C++ -*-===//
+//===-- NameAnonGlobals.h - Anonymous Global Naming Pass ----*- C++ -*-=======//
//
// The LLVM Compiler Infrastructure
//
@@ -7,25 +7,25 @@
//
//===----------------------------------------------------------------------===//
//
-// This file implements naming anonymous function to make sure they can be
+// This file implements naming anonymous globals to make sure they can be
// referred to by ThinLTO.
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_TRANSFORMS_UTILS_NAMEANONFUNCTIONS_H
-#define LLVM_TRANSFORMS_UTILS_NAMEANONFUNCTIONS_H
+#ifndef LLVM_TRANSFORMS_UTILS_NAMEANONGLOBALSS_H
+#define LLVM_TRANSFORMS_UTILS_NAMEANONGLOBALSS_H
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
namespace llvm {
-/// Simple pass that provides a name to every anonymous function.
-class NameAnonFunctionPass : public PassInfoMixin<NameAnonFunctionPass> {
+/// Simple pass that provides a name to every anonymous globals.
+class NameAnonGlobalPass : public PassInfoMixin<NameAnonGlobalPass> {
public:
- NameAnonFunctionPass() {}
+ NameAnonGlobalPass() {}
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
};
}
-#endif // LLVM_TRANSFORMS_UTILS_NAMEANONFUNCTIONS_H
+#endif // LLVM_TRANSFORMS_UTILS_NAMEANONGLOBALS_H
Modified: llvm/trunk/lib/Passes/PassBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Passes/PassBuilder.cpp?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/lib/Passes/PassBuilder.cpp (original)
+++ llvm/trunk/lib/Passes/PassBuilder.cpp Fri Sep 16 11:56:30 2016
@@ -24,11 +24,11 @@
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/BlockFrequencyInfoImpl.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
+#include "llvm/Analysis/CFGPrinter.h"
#include "llvm/Analysis/CFLAndersAliasAnalysis.h"
#include "llvm/Analysis/CFLSteensAliasAnalysis.h"
#include "llvm/Analysis/CGSCCPassManager.h"
#include "llvm/Analysis/CallGraph.h"
-#include "llvm/Analysis/CFGPrinter.h"
#include "llvm/Analysis/DemandedBits.h"
#include "llvm/Analysis/DependenceAnalysis.h"
#include "llvm/Analysis/DominanceFrontier.h"
@@ -125,7 +125,7 @@
#include "llvm/Transforms/Utils/LowerInvoke.h"
#include "llvm/Transforms/Utils/Mem2Reg.h"
#include "llvm/Transforms/Utils/MemorySSA.h"
-#include "llvm/Transforms/Utils/NameAnonFunctions.h"
+#include "llvm/Transforms/Utils/NameAnonGlobals.h"
#include "llvm/Transforms/Utils/SimplifyInstructions.h"
#include "llvm/Transforms/Utils/SymbolRewriter.h"
#include "llvm/Transforms/Vectorize/LoopVectorize.h"
Modified: llvm/trunk/lib/Passes/PassRegistry.def
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Passes/PassRegistry.def?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/lib/Passes/PassRegistry.def (original)
+++ llvm/trunk/lib/Passes/PassRegistry.def Fri Sep 16 11:56:30 2016
@@ -54,7 +54,7 @@ MODULE_PASS("internalize", InternalizePa
MODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass())
MODULE_PASS("ipsccp", IPSCCPPass())
MODULE_PASS("lowertypetests", LowerTypeTestsPass())
-MODULE_PASS("name-anon-functions", NameAnonFunctionPass())
+MODULE_PASS("name-global-functions", NameAnonGlobalPass())
MODULE_PASS("no-op-module", NoOpModulePass())
MODULE_PASS("partial-inliner", PartialInlinerPass())
MODULE_PASS("pgo-icall-prom", PGOIndirectCallPromotion())
Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Fri Sep 16 11:56:30 2016
@@ -491,8 +491,8 @@ void PassManagerBuilder::populateModuleP
if (PrepareForThinLTO) {
// Reduce the size of the IR as much as possible.
MPM.add(createGlobalOptimizerPass());
- // Rename anon function to be able to export them in the summary.
- MPM.add(createNameAnonFunctionPass());
+ // Rename anon globals to be able to export them in the summary.
+ MPM.add(createNameAnonGlobalPass());
return;
}
Modified: llvm/trunk/lib/Transforms/Utils/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/CMakeLists.txt?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/CMakeLists.txt (original)
+++ llvm/trunk/lib/Transforms/Utils/CMakeLists.txt Fri Sep 16 11:56:30 2016
@@ -32,7 +32,7 @@ add_llvm_library(LLVMTransformUtils
MemorySSA.cpp
MetaRenamer.cpp
ModuleUtils.cpp
- NameAnonFunctions.cpp
+ NameAnonGlobals.cpp
PromoteMemoryToRegister.cpp
SSAUpdater.cpp
SanitizerStats.cpp
Removed: llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp?rev=281744&view=auto
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp (removed)
@@ -1,121 +0,0 @@
-//===- NameAnonFunctions.cpp - ThinLTO Summary-based Function Import ------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file implements naming anonymous function to make sure they can be
-// refered to by ThinLTO.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Transforms/Utils/NameAnonFunctions.h"
-
-#include "llvm/ADT/SmallString.h"
-#include "llvm/IR/Module.h"
-#include "llvm/Support/MD5.h"
-#include "llvm/Transforms/Utils/ModuleUtils.h"
-
-using namespace llvm;
-
-namespace {
-// Compute a "unique" hash for the module based on the name of the public
-// functions.
-class ModuleHasher {
- Module &TheModule;
- std::string TheHash;
-
-public:
- ModuleHasher(Module &M) : TheModule(M) {}
-
- /// Return the lazily computed hash.
- std::string &get() {
- if (!TheHash.empty())
- // Cache hit :)
- return TheHash;
-
- MD5 Hasher;
- for (auto &F : TheModule) {
- if (F.isDeclaration() || F.hasLocalLinkage() || !F.hasName())
- continue;
- auto Name = F.getName();
- Hasher.update(Name);
- }
- for (auto &GV : TheModule.globals()) {
- if (GV.isDeclaration() || GV.hasLocalLinkage() || !GV.hasName())
- continue;
- auto Name = GV.getName();
- Hasher.update(Name);
- }
-
- // Now return the result.
- MD5::MD5Result Hash;
- Hasher.final(Hash);
- SmallString<32> Result;
- MD5::stringifyResult(Hash, Result);
- TheHash = Result.str();
- return TheHash;
- }
-};
-} // end anonymous namespace
-
-// Rename all the anon functions in the module
-bool llvm::nameUnamedFunctions(Module &M) {
- bool Changed = false;
- ModuleHasher ModuleHash(M);
- int count = 0;
- auto RenameIfNeed = [&] (GlobalValue &GV) {
- if (GV.hasName())
- return;
- GV.setName(Twine("anon.") + ModuleHash.get() + "." + Twine(count++));
- Changed = true;
- };
- for (auto &GO : M.global_objects())
- RenameIfNeed(GO);
- for (auto &GA : M.aliases())
- RenameIfNeed(GA);
-
- return Changed;
-}
-
-namespace {
-
-// Legacy pass that provides a name to every anon function.
-class NameAnonFunctionLegacyPass : public ModulePass {
-
-public:
- /// Pass identification, replacement for typeid
- static char ID;
-
- /// Specify pass name for debug output
- const char *getPassName() const override { return "Name Anon Functions"; }
-
- explicit NameAnonFunctionLegacyPass() : ModulePass(ID) {}
-
- bool runOnModule(Module &M) override { return nameUnamedFunctions(M); }
-};
-char NameAnonFunctionLegacyPass::ID = 0;
-
-} // anonymous namespace
-
-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(NameAnonFunctionLegacyPass, "name-anon-functions",
- "Provide a name to nameless functions", false, false)
-
-namespace llvm {
-ModulePass *createNameAnonFunctionPass() {
- return new NameAnonFunctionLegacyPass();
-}
-}
Copied: llvm/trunk/lib/Transforms/Utils/NameAnonGlobals.cpp (from r281744, llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/NameAnonGlobals.cpp?p2=llvm/trunk/lib/Transforms/Utils/NameAnonGlobals.cpp&p1=llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp&r1=281744&r2=281745&rev=281745&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/NameAnonFunctions.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/NameAnonGlobals.cpp Fri Sep 16 11:56:30 2016
@@ -1,4 +1,4 @@
-//===- NameAnonFunctions.cpp - ThinLTO Summary-based Function Import ------===//
+//===- NameAnonGlobals.cpp - ThinLTO Support: Name Unnamed Globals --------===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,12 +7,12 @@
//
//===----------------------------------------------------------------------===//
//
-// This file implements naming anonymous function to make sure they can be
-// refered to by ThinLTO.
+// This file implements naming anonymous globals to make sure they can be
+// referred to by ThinLTO.
//
//===----------------------------------------------------------------------===//
-#include "llvm/Transforms/Utils/NameAnonFunctions.h"
+#include "llvm/Transforms/Utils/NameAnonGlobals.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/IR/Module.h"
@@ -23,7 +23,7 @@ using namespace llvm;
namespace {
// Compute a "unique" hash for the module based on the name of the public
-// functions.
+// globals.
class ModuleHasher {
Module &TheModule;
std::string TheHash;
@@ -62,12 +62,12 @@ public:
};
} // end anonymous namespace
-// Rename all the anon functions in the module
-bool llvm::nameUnamedFunctions(Module &M) {
+// Rename all the anon globals in the module
+bool llvm::nameUnamedGlobals(Module &M) {
bool Changed = false;
ModuleHasher ModuleHash(M);
int count = 0;
- auto RenameIfNeed = [&] (GlobalValue &GV) {
+ auto RenameIfNeed = [&](GlobalValue &GV) {
if (GV.hasName())
return;
GV.setName(Twine("anon.") + ModuleHash.get() + "." + Twine(count++));
@@ -83,39 +83,39 @@ bool llvm::nameUnamedFunctions(Module &M
namespace {
-// Legacy pass that provides a name to every anon function.
-class NameAnonFunctionLegacyPass : public ModulePass {
+// Legacy pass that provides a name to every anon globals.
+class NameAnonGlobalLegacyPass : public ModulePass {
public:
/// Pass identification, replacement for typeid
static char ID;
/// Specify pass name for debug output
- const char *getPassName() const override { return "Name Anon Functions"; }
+ const char *getPassName() const override { return "Name Anon Globals"; }
- explicit NameAnonFunctionLegacyPass() : ModulePass(ID) {}
+ explicit NameAnonGlobalLegacyPass() : ModulePass(ID) {}
- bool runOnModule(Module &M) override { return nameUnamedFunctions(M); }
+ bool runOnModule(Module &M) override { return nameUnamedGlobals(M); }
};
-char NameAnonFunctionLegacyPass::ID = 0;
+char NameAnonGlobalLegacyPass::ID = 0;
} // anonymous namespace
-PreservedAnalyses NameAnonFunctionPass::run(Module &M,
- ModuleAnalysisManager &AM) {
- if (!nameUnamedFunctions(M))
+PreservedAnalyses NameAnonGlobalPass::run(Module &M,
+ ModuleAnalysisManager &AM) {
+ if (!nameUnamedGlobals(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(NameAnonFunctionLegacyPass, "name-anon-functions",
- "Provide a name to nameless functions", false, false)
+INITIALIZE_PASS_BEGIN(NameAnonGlobalLegacyPass, "name-anon-globals",
+ "Provide a name to nameless globals", false, false)
+INITIALIZE_PASS_END(NameAnonGlobalLegacyPass, "name-anon-globals",
+ "Provide a name to nameless globals", false, false)
namespace llvm {
-ModulePass *createNameAnonFunctionPass() {
- return new NameAnonFunctionLegacyPass();
+ModulePass *createNameAnonGlobalPass() {
+ return new NameAnonGlobalLegacyPass();
}
}
Modified: llvm/trunk/lib/Transforms/Utils/Utils.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/Utils.cpp?rev=281745&r1=281744&r2=281745&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/Utils.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/Utils.cpp Fri Sep 16 11:56:30 2016
@@ -28,7 +28,7 @@ void llvm::initializeTransformUtils(Pass
initializeLoopSimplifyPass(Registry);
initializeLowerInvokeLegacyPassPass(Registry);
initializeLowerSwitchPass(Registry);
- initializeNameAnonFunctionLegacyPassPass(Registry);
+ initializeNameAnonGlobalLegacyPassPass(Registry);
initializePromoteLegacyPassPass(Registry);
initializeUnifyFunctionExitNodesPass(Registry);
initializeInstSimplifierPass(Registry);
More information about the llvm-commits
mailing list