]> granicus.if.org Git - llvm/commitdiff
[LoopDataPrefetch] Port to new streaming API for opt remarks
authorAdam Nemet <anemet@apple.com>
Fri, 30 Sep 2016 00:42:43 +0000 (00:42 +0000)
committerAdam Nemet <anemet@apple.com>
Fri, 30 Sep 2016 00:42:43 +0000 (00:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282826 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/DiagnosticInfo.h
lib/IR/DiagnosticInfo.cpp
lib/Transforms/Scalar/LoopDataPrefetch.cpp

index 05043e7d06e3b02478ade1135799dfefb4fbf4e9..d179f48f44efe8923add6fd561eda1e5f20c5e40 100644 (file)
@@ -524,6 +524,11 @@ public:
   OptimizationRemark(const char *PassName, StringRef RemarkName,
                      const DebugLoc &DLoc, Value *CodeRegion);
 
+  /// Same as above but the debug location and code region is derived from \p
+  /// Instr.
+  OptimizationRemark(const char *PassName, StringRef RemarkName,
+                     Instruction *Inst);
+
   static bool classof(const DiagnosticInfo *DI) {
     return DI->getKind() == DK_OptimizationRemark;
   }
index 8e15014349ec2d84663e4182b5e55a9f8b5cd662..e9187a9ce63600bc7214c956e2fa4d9526853323 100644 (file)
@@ -190,6 +190,13 @@ OptimizationRemark::OptimizationRemark(const char *PassName,
           DK_OptimizationRemark, DS_Remark, PassName, RemarkName,
           *cast<BasicBlock>(CodeRegion)->getParent(), DLoc, CodeRegion) {}
 
+OptimizationRemark::OptimizationRemark(const char *PassName,
+                                       StringRef RemarkName, Instruction *Inst)
+    : DiagnosticInfoOptimizationBase(DK_OptimizationRemark, DS_Remark, PassName,
+                                     RemarkName,
+                                     *Inst->getParent()->getParent(),
+                                     Inst->getDebugLoc(), Inst->getParent()) {}
+
 bool OptimizationRemark::isEnabled() const {
   return PassRemarksOptLoc.Pattern &&
          PassRemarksOptLoc.Pattern->match(getPassName());
index 71eb37e2ae16297721ea044cd42542cb9831e409..d09af32a99fd9b988275709dc72699b8d485daa1 100644 (file)
@@ -329,7 +329,8 @@ bool LoopDataPrefetch::runOnLoop(Loop *L) {
       ++NumPrefetches;
       DEBUG(dbgs() << "  Access: " << *PtrValue << ", SCEV: " << *LSCEV
                    << "\n");
-      ORE->emitOptimizationRemark(DEBUG_TYPE, MemI, "prefetched memory access");
+      ORE->emit(OptimizationRemark(DEBUG_TYPE, "Prefetched", MemI)
+                << "prefetched memory access");
 
       MadeChange = true;
     }