diff options
author | Alp Toker <alp@nuanti.com> | 2014-07-17 12:29:08 +0000 |
---|---|---|
committer | Alp Toker <alp@nuanti.com> | 2014-07-17 12:29:08 +0000 |
commit | 5c37d70e9ed4e5cd0da0d0f074c9ed76697cad52 (patch) | |
tree | c67b91a06a29ffa7e8fe48d2883cd8e0eeeed0f4 /clang/lib/CodeGen/CodeGenAction.cpp | |
parent | 4d7e7a20828566ee7c00a0e1620be76a7997b37e (diff) | |
download | bcm5719-llvm-5c37d70e9ed4e5cd0da0d0f074c9ed76697cad52.tar.gz bcm5719-llvm-5c37d70e9ed4e5cd0da0d0f074c9ed76697cad52.zip |
Revert "Handle diagnostic warnings in Frontend diagnostic handler."
This commit is missing tests and there are a few points that need to be
addressed before a new user-facing option can be added:
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140714/110198.html
This reverts commit r213112.
llvm-svn: 213260
Diffstat (limited to 'clang/lib/CodeGen/CodeGenAction.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenAction.cpp | 40 |
1 files changed, 12 insertions, 28 deletions
diff --git a/clang/lib/CodeGen/CodeGenAction.cpp b/clang/lib/CodeGen/CodeGenAction.cpp index 8c0e8e78fc7..559c2ef4bad 100644 --- a/clang/lib/CodeGen/CodeGenAction.cpp +++ b/clang/lib/CodeGen/CodeGenAction.cpp @@ -238,16 +238,15 @@ namespace clang { /// \brief Specialized handlers for optimization remarks. /// Note that these handlers only accept remarks and they always handle /// them. - void EmitOptimizationMessage(const llvm::DiagnosticInfoOptimizationBase &D, - unsigned DiagID); + void + EmitOptimizationRemark(const llvm::DiagnosticInfoOptimizationBase &D, + unsigned DiagID); void OptimizationRemarkHandler(const llvm::DiagnosticInfoOptimizationRemark &D); void OptimizationRemarkHandler( const llvm::DiagnosticInfoOptimizationRemarkMissed &D); void OptimizationRemarkHandler( const llvm::DiagnosticInfoOptimizationRemarkAnalysis &D); - void OptimizationWarningHandler( - const llvm::DiagnosticInfoOptimizationWarning &D); }; void BackendConsumer::anchor() {} @@ -417,11 +416,10 @@ BackendConsumer::StackSizeDiagHandler(const llvm::DiagnosticInfoStackSize &D) { return false; } -void BackendConsumer::EmitOptimizationMessage( +void BackendConsumer::EmitOptimizationRemark( const llvm::DiagnosticInfoOptimizationBase &D, unsigned DiagID) { - // We only support warnings and remarks. - assert(D.getSeverity() == llvm::DS_Remark || - D.getSeverity() == llvm::DS_Warning); + // We only support remarks. + assert(D.getSeverity() == llvm::DS_Remark); SourceManager &SourceMgr = Context->getSourceManager(); FileManager &FileMgr = SourceMgr.getFileManager(); @@ -444,12 +442,8 @@ void BackendConsumer::EmitOptimizationMessage( if (const Decl *FD = Gen->GetDeclForMangledName(D.getFunction().getName())) Loc = FD->getASTContext().getFullLoc(FD->getBodyRBrace()); - // Flag value not used by all optimization messages. - if (D.getPassName()) - Diags.Report(Loc, DiagID) << AddFlagValue(D.getPassName()) - << D.getMsg().str(); - else - Diags.Report(Loc, DiagID) << D.getMsg().str(); + Diags.Report(Loc, DiagID) << AddFlagValue(D.getPassName()) + << D.getMsg().str(); if (DILoc.isInvalid()) // If we were not able to translate the file:line:col information @@ -466,7 +460,7 @@ void BackendConsumer::OptimizationRemarkHandler( // expression that matches the name of the pass name in \p D. if (CodeGenOpts.OptimizationRemarkPattern && CodeGenOpts.OptimizationRemarkPattern->match(D.getPassName())) - EmitOptimizationMessage(D, diag::remark_fe_backend_optimization_remark); + EmitOptimizationRemark(D, diag::remark_fe_backend_optimization_remark); } void BackendConsumer::OptimizationRemarkHandler( @@ -476,8 +470,8 @@ void BackendConsumer::OptimizationRemarkHandler( // name in \p D. if (CodeGenOpts.OptimizationRemarkMissedPattern && CodeGenOpts.OptimizationRemarkMissedPattern->match(D.getPassName())) - EmitOptimizationMessage(D, - diag::remark_fe_backend_optimization_remark_missed); + EmitOptimizationRemark(D, + diag::remark_fe_backend_optimization_remark_missed); } void BackendConsumer::OptimizationRemarkHandler( @@ -487,15 +481,10 @@ void BackendConsumer::OptimizationRemarkHandler( // name in \p D. if (CodeGenOpts.OptimizationRemarkAnalysisPattern && CodeGenOpts.OptimizationRemarkAnalysisPattern->match(D.getPassName())) - EmitOptimizationMessage( + EmitOptimizationRemark( D, diag::remark_fe_backend_optimization_remark_analysis); } -void BackendConsumer::OptimizationWarningHandler( - const llvm::DiagnosticInfoOptimizationWarning &D) { - EmitOptimizationMessage(D, diag::warn_fe_backend_optimization_warning); -} - /// \brief This function is invoked when the backend needs /// to report something to the user. void BackendConsumer::DiagnosticHandlerImpl(const DiagnosticInfo &DI) { @@ -529,11 +518,6 @@ void BackendConsumer::DiagnosticHandlerImpl(const DiagnosticInfo &DI) { OptimizationRemarkHandler( cast<DiagnosticInfoOptimizationRemarkAnalysis>(DI)); return; - case llvm::DK_OptimizationWarning: - // Optimization warnings are always handled completely by this - // handler. - OptimizationWarningHandler(cast<DiagnosticInfoOptimizationWarning>(DI)); - return; default: // Plugin IDs are not bound to any value as they are set dynamically. ComputeDiagRemarkID(Severity, backend_plugin, DiagID); |