[Diag] Add getter shouldAlwaysPrint. NFC
authorAdam Nemet <anemet@apple.com>
Wed, 29 Jun 2016 04:55:19 +0000 (04:55 +0000)
committerAdam Nemet <anemet@apple.com>
Wed, 29 Jun 2016 04:55:19 +0000 (04:55 +0000)
For the new hotness attribute, the API will take the pass rather than
the pass name so we can no longer play the trick of AlwaysPrint being a
special pass name. This adds a getter to help the transition.

There is also a corresponding clang patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274100 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/DiagnosticInfo.h
lib/IR/DiagnosticInfo.cpp
lib/Transforms/Scalar/LoopDistribute.cpp
lib/Transforms/Vectorize/LoopVectorize.cpp

index 2e7ffe129b8ac72f3edd0bea8b992562557f650b..02265cff9ce8468ff03ad9e247a6070dbc645631 100644 (file)
@@ -106,8 +106,6 @@ public:
   /// The printed message must not end with '.' nor start with a severity
   /// keyword.
   virtual void print(DiagnosticPrinter &DP) const = 0;
-
-  static const char *AlwaysPrint;
 };
 
 typedef std::function<void(const DiagnosticInfo &)> DiagnosticHandlerFunction;
@@ -493,6 +491,10 @@ public:
   /// \see DiagnosticInfoOptimizationBase::isEnabled.
   bool isEnabled() const override;
 
+  static const char *AlwaysPrint;
+
+  bool shouldAlwaysPrint() const { return getPassName() == AlwaysPrint; }
+
 protected:
   DiagnosticInfoOptimizationRemarkAnalysis(enum DiagnosticKind Kind,
                                            const char *PassName,
index f894445d7a0c539f7f69f4995d83efc0e31a4cea..a3214d721328e1b2d5153d2a060df8d914271057 100644 (file)
@@ -91,7 +91,7 @@ int llvm::getNextAvailablePluginDiagnosticKind() {
   return ++PluginKindID;
 }
 
-const char *DiagnosticInfo::AlwaysPrint = "";
+const char *DiagnosticInfoOptimizationRemarkAnalysis::AlwaysPrint = "";
 
 DiagnosticInfoInlineAsm::DiagnosticInfoInlineAsm(const Instruction &I,
                                                  const Twine &MsgStr,
@@ -185,7 +185,7 @@ bool DiagnosticInfoOptimizationRemarkMissed::isEnabled() const {
 }
 
 bool DiagnosticInfoOptimizationRemarkAnalysis::isEnabled() const {
-  return getPassName() == DiagnosticInfo::AlwaysPrint ||
+  return shouldAlwaysPrint() ||
          (PassRemarksAnalysisOptLoc.Pattern &&
           PassRemarksAnalysisOptLoc.Pattern->match(getPassName()));
 }
index 464db8e1811e2fddaacbf851cff2f8372d0a596a..a07121e0839d2e5775c834f2299355027b2594ce 100644 (file)
@@ -765,8 +765,9 @@ public:
     // With Rpass-analysis report why.  This is on by default if distribution
     // was requested explicitly.
     emitOptimizationRemarkAnalysis(
-        Ctx, Forced ? DiagnosticInfo::AlwaysPrint : LDIST_NAME, *F,
-        L->getStartLoc(), Twine("loop not distributed: ") + Message);
+        Ctx, Forced ? DiagnosticInfoOptimizationRemarkAnalysis::AlwaysPrint
+                    : LDIST_NAME,
+        *F, L->getStartLoc(), Twine("loop not distributed: ") + Message);
 
     // Also issue a warning if distribution was requested explicitly but it
     // failed.
index 15e8d792c8f93f7766c8a2b24346a2dd91ad0649..785ee68b5552ae9f158c022f8592c01d89b2e265 100644 (file)
@@ -1162,7 +1162,7 @@ public:
       return LV_NAME;
     if (getForce() == LoopVectorizeHints::FK_Undefined && getWidth() == 0)
       return LV_NAME;
-    return DiagnosticInfo::AlwaysPrint;
+    return DiagnosticInfoOptimizationRemarkAnalysis::AlwaysPrint;
   }
 
   bool allowReordering() const {