[llvm] r341681 - [PGO][CHR] Small cleanup.

Hiroshi Yamauchi via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 7 11:00:59 PDT 2018


Author: yamauchi
Date: Fri Sep  7 11:00:58 2018
New Revision: 341681

URL: http://llvm.org/viewvc/llvm-project?rev=341681&view=rev
Log:
[PGO][CHR] Small cleanup.

Summary:
Do away with demangling. It wasn't really necessary.
Declared some local functions to be static.

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D51740

Modified:
    llvm/trunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpp

Modified: llvm/trunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpp?rev=341681&r1=341680&r2=341681&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpp (original)
+++ llvm/trunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpp Fri Sep  7 11:00:58 2018
@@ -34,9 +34,6 @@
 #include "llvm/Transforms/Utils/Cloning.h"
 #include "llvm/Transforms/Utils/ValueMapper.h"
 
-#if !defined(_MSC_VER)
-#include <cxxabi.h>
-#endif
 #include <set>
 #include <sstream>
 
@@ -160,12 +157,6 @@ struct CHRStats {
                                      // count at the scope entry.
 };
 
-inline raw_ostream LLVM_ATTRIBUTE_UNUSED &operator<<(raw_ostream &OS,
-                                                     const CHRStats &Stats) {
-  Stats.print(OS);
-  return OS;
-}
-
 // RegInfo - some properties of a Region.
 struct RegInfo {
   RegInfo() : R(nullptr), HasBranch(false) {}
@@ -326,11 +317,6 @@ class CHRScope {
     : RegInfos(RegInfosIn), Subs(SubsIn), BranchInsertPoint(nullptr) {}
 };
 
-inline raw_ostream &operator<<(raw_ostream &OS, const CHRScope &Scope) {
-  Scope.print(OS);
-  return OS;
-}
-
 class CHR {
  public:
   CHR(Function &Fin, BlockFrequencyInfo &BFIin, DominatorTree &DTin,
@@ -437,6 +423,19 @@ class CHR {
 
 } // end anonymous namespace
 
+static inline
+raw_ostream LLVM_ATTRIBUTE_UNUSED &operator<<(raw_ostream &OS,
+                                              const CHRStats &Stats) {
+  Stats.print(OS);
+  return OS;
+}
+
+static inline
+raw_ostream &operator<<(raw_ostream &OS, const CHRScope &Scope) {
+  Scope.print(OS);
+  return OS;
+}
+
 static bool shouldApply(Function &F, ProfileSummaryInfo& PSI) {
   if (ForceCHR)
     return true;
@@ -444,16 +443,7 @@ static bool shouldApply(Function &F, Pro
   if (!CHRModuleList.empty() || !CHRFunctionList.empty()) {
     if (CHRModules.count(F.getParent()->getName()))
       return true;
-    StringRef Name = F.getName();
-    if (CHRFunctions.count(Name))
-      return true;
-    const char* DemangledName = nullptr;
-#if !defined(_MSC_VER)
-    int Status = -1;
-    DemangledName = abi::__cxa_demangle(Name.str().c_str(),
-                                        nullptr, nullptr, &Status);
-#endif
-    return DemangledName && CHRFunctions.count(DemangledName);
+    return CHRFunctions.count(F.getName());
   }
 
   assert(PSI.hasProfileSummary() && "Empty PSI?");
@@ -462,19 +452,10 @@ static bool shouldApply(Function &F, Pro
 
 static void LLVM_ATTRIBUTE_UNUSED dumpIR(Function &F, const char *Label,
                                          CHRStats *Stats) {
-  std::string Name = F.getName().str();
-  const char *DemangledName = nullptr;
-#if !defined(_MSC_VER)
-  int Status = -1;
-  DemangledName = abi::__cxa_demangle(Name.c_str(),
-                                      nullptr, nullptr, &Status);
-#endif
-  if (DemangledName == nullptr) {
-    DemangledName = "<NOT-MANGLED>";
-  }
-  std::string ModuleName = F.getParent()->getName().str();
+  StringRef FuncName = F.getName();
+  StringRef ModuleName = F.getParent()->getName();
   CHR_DEBUG(dbgs() << "CHR IR dump " << Label << " " << ModuleName << " "
-            << Name);
+            << FuncName);
   if (Stats)
     CHR_DEBUG(dbgs() << " " << *Stats);
   CHR_DEBUG(dbgs() << "\n");




More information about the llvm-commits mailing list