]> granicus.if.org Git - llvm/commitdiff
OptDiag: Add const to some interfaces that don't modify anything. NFC
authorJustin Bogner <mail@justinbogner.com>
Wed, 22 Feb 2017 07:38:17 +0000 (07:38 +0000)
committerJustin Bogner <mail@justinbogner.com>
Wed, 22 Feb 2017 07:38:17 +0000 (07:38 +0000)
This needed a const_cast for the dominator tree recalculation in
OptimizationRemarkEmitter, but we do that all over the place already
and it's safe.

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

include/llvm/Analysis/OptimizationDiagnosticInfo.h
include/llvm/IR/DiagnosticInfo.h
lib/Analysis/OptimizationDiagnosticInfo.cpp
lib/IR/DiagnosticInfo.cpp

index 426fbb548e680c244226a5ec2d20d95f53ccdc87..2fd4819064c03c30c326501574b1dacd129a69fa 100644 (file)
@@ -38,7 +38,7 @@ class Value;
 /// enabled in the LLVM context.
 class OptimizationRemarkEmitter {
 public:
-  OptimizationRemarkEmitter(Function *F, BlockFrequencyInfo *BFI)
+  OptimizationRemarkEmitter(const Function *F, BlockFrequencyInfo *BFI)
       : F(F), BFI(BFI) {}
 
   /// \brief This variant can be used to generate ORE on demand (without the
@@ -52,7 +52,7 @@ public:
   /// operation since BFI and all its required analyses are computed.  This is
   /// for example useful for CGSCC passes that can't use function analyses
   /// passes in the old PM.
-  OptimizationRemarkEmitter(Function *F);
+  OptimizationRemarkEmitter(const Function *F);
 
   OptimizationRemarkEmitter(OptimizationRemarkEmitter &&Arg)
       : F(Arg.F), BFI(Arg.BFI) {}
@@ -216,7 +216,7 @@ public:
   }
 
 private:
-  Function *F;
+  const Function *F;
 
   BlockFrequencyInfo *BFI;
 
index e06fb4bdaefd8f46c99248e908e935a25fe5a046..1d4eddc0959d3716cf61891c5b73c127a2b268ac 100644 (file)
@@ -526,7 +526,7 @@ public:
                                const char *PassName, StringRef RemarkName,
                                const Function &Fn,
                                const DiagnosticLocation &Loc,
-                               Value *CodeRegion = nullptr)
+                               const Value *CodeRegion = nullptr)
       : DiagnosticInfoOptimizationBase(Kind, Severity, PassName, RemarkName, Fn,
                                        Loc),
         CodeRegion(CodeRegion) {}
@@ -566,7 +566,7 @@ public:
     *this << Msg.str();
   }
 
-  Value *getCodeRegion() const { return CodeRegion; }
+  const Value *getCodeRegion() const { return CodeRegion; }
 
   static bool classof(const DiagnosticInfo *DI) {
     return DI->getKind() >= DK_FirstRemark && DI->getKind() <= DK_LastRemark;
@@ -575,7 +575,7 @@ public:
 private:
   /// The IR value (currently basic block) that the optimization operates on.
   /// This is currently used to provide run-time hotness information with PGO.
-  Value *CodeRegion;
+  const Value *CodeRegion;
 };
 
 /// Diagnostic information for applied optimization remarks.
@@ -601,7 +601,7 @@ public:
   /// Loc is the debug location and \p CodeRegion is the region that the
   /// optimization operates on (currently on block is supported).
   OptimizationRemark(const char *PassName, StringRef RemarkName,
-                     const DiagnosticLocation &Loc, Value *CodeRegion);
+                     const DiagnosticLocation &Loc, const Value *CodeRegion);
 
   /// Same as above but the debug location and code region is derived from \p
   /// Instr.
index 7198e474d4b23ffccd921d6f0f9ecf64a1b9cb28..23199746c40b4c9ce50b5559b014ecfd977287d1 100644 (file)
 
 using namespace llvm;
 
-OptimizationRemarkEmitter::OptimizationRemarkEmitter(Function *F)
+OptimizationRemarkEmitter::OptimizationRemarkEmitter(const Function *F)
     : F(F), BFI(nullptr) {
   if (!F->getContext().getDiagnosticHotnessRequested())
     return;
 
   // First create a dominator tree.
   DominatorTree DT;
-  DT.recalculate(*F);
+  DT.recalculate(*const_cast<Function *>(F));
 
   // Generate LoopInfo from it.
   LoopInfo LI;
@@ -146,7 +146,7 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(DiagnosticInfoOptimizationBase::Argument)
 
 void OptimizationRemarkEmitter::computeHotness(
     DiagnosticInfoIROptimization &OptDiag) {
-  Value *V = OptDiag.getCodeRegion();
+  const Value *V = OptDiag.getCodeRegion();
   if (V)
     OptDiag.setHotness(computeHotness(V));
 }
index 2af2ab9d7a9caf078461cf8386dd9c8eba4554fb..fccf34a6ccbfdca72d3118d534a5cec07fe88539 100644 (file)
@@ -222,7 +222,7 @@ void DiagnosticInfoOptimizationBase::print(DiagnosticPrinter &DP) const {
 OptimizationRemark::OptimizationRemark(const char *PassName,
                                        StringRef RemarkName,
                                        const DiagnosticLocation &Loc,
-                                       Value *CodeRegion)
+                                       const Value *CodeRegion)
     : DiagnosticInfoIROptimization(
           DK_OptimizationRemark, DS_Remark, PassName, RemarkName,
           *cast<BasicBlock>(CodeRegion)->getParent(), Loc, CodeRegion) {}