[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