diff options
Diffstat (limited to 'llvm/lib/IR/DiagnosticInfo.cpp')
| -rw-r--r-- | llvm/lib/IR/DiagnosticInfo.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/lib/IR/DiagnosticInfo.cpp b/llvm/lib/IR/DiagnosticInfo.cpp index 181958a1f73..301a1d53fad 100644 --- a/llvm/lib/IR/DiagnosticInfo.cpp +++ b/llvm/lib/IR/DiagnosticInfo.cpp @@ -180,6 +180,13 @@ void DiagnosticInfoOptimizationBase::print(DiagnosticPrinter &DP) const { DP << " (hotness: " << *Hotness << ")"; } +OptimizationRemark::OptimizationRemark(const char *PassName, + StringRef RemarkName, + const DebugLoc &DLoc, Value *CodeRegion) + : DiagnosticInfoOptimizationBase( + DK_OptimizationRemark, DS_Remark, PassName, RemarkName, + *cast<BasicBlock>(CodeRegion)->getParent(), DLoc, CodeRegion) {} + bool OptimizationRemark::isEnabled() const { return PassRemarksOptLoc.Pattern && PassRemarksOptLoc.Pattern->match(getPassName()); @@ -187,6 +194,14 @@ bool OptimizationRemark::isEnabled() const { OptimizationRemarkMissed::OptimizationRemarkMissed(const char *PassName, StringRef RemarkName, + const DebugLoc &DLoc, + Value *CodeRegion) + : DiagnosticInfoOptimizationBase( + DK_OptimizationRemarkMissed, DS_Remark, PassName, RemarkName, + *cast<BasicBlock>(CodeRegion)->getParent(), DLoc, CodeRegion) {} + +OptimizationRemarkMissed::OptimizationRemarkMissed(const char *PassName, + StringRef RemarkName, Instruction *Inst) : DiagnosticInfoOptimizationBase(DK_OptimizationRemarkMissed, DS_Remark, PassName, RemarkName, @@ -198,6 +213,14 @@ bool OptimizationRemarkMissed::isEnabled() const { PassRemarksMissedOptLoc.Pattern->match(getPassName()); } +OptimizationRemarkAnalysis::OptimizationRemarkAnalysis(const char *PassName, + StringRef RemarkName, + Instruction *Inst) + : DiagnosticInfoOptimizationBase(DK_OptimizationRemarkAnalysis, DS_Remark, + PassName, RemarkName, + *Inst->getParent()->getParent(), + Inst->getDebugLoc(), Inst->getParent()) {} + bool OptimizationRemarkAnalysis::isEnabled() const { return shouldAlwaysPrint() || (PassRemarksAnalysisOptLoc.Pattern && |

