[llvm] r282826 - [LoopDataPrefetch] Port to new streaming API for opt remarks
Adam Nemet via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 29 17:42:43 PDT 2016
Author: anemet
Date: Thu Sep 29 19:42:43 2016
New Revision: 282826
URL: http://llvm.org/viewvc/llvm-project?rev=282826&view=rev
Log:
[LoopDataPrefetch] Port to new streaming API for opt remarks
Modified:
llvm/trunk/include/llvm/IR/DiagnosticInfo.h
llvm/trunk/lib/IR/DiagnosticInfo.cpp
llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp
Modified: llvm/trunk/include/llvm/IR/DiagnosticInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DiagnosticInfo.h?rev=282826&r1=282825&r2=282826&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/DiagnosticInfo.h (original)
+++ llvm/trunk/include/llvm/IR/DiagnosticInfo.h Thu Sep 29 19:42:43 2016
@@ -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;
}
Modified: llvm/trunk/lib/IR/DiagnosticInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DiagnosticInfo.cpp?rev=282826&r1=282825&r2=282826&view=diff
==============================================================================
--- llvm/trunk/lib/IR/DiagnosticInfo.cpp (original)
+++ llvm/trunk/lib/IR/DiagnosticInfo.cpp Thu Sep 29 19:42:43 2016
@@ -190,6 +190,13 @@ OptimizationRemark::OptimizationRemark(c
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());
Modified: llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp?rev=282826&r1=282825&r2=282826&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp Thu Sep 29 19:42:43 2016
@@ -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;
}
More information about the llvm-commits
mailing list