r213260 - Revert "Handle diagnostic warnings in Frontend diagnostic handler."
Alp Toker
alp at nuanti.com
Thu Jul 17 05:29:08 PDT 2014
Author: alp
Date: Thu Jul 17 07:29:08 2014
New Revision: 213260
URL: http://llvm.org/viewvc/llvm-project?rev=213260&view=rev
Log:
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.
Modified:
cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td
cfe/trunk/include/clang/Basic/DiagnosticGroups.td
cfe/trunk/lib/CodeGen/CodeGenAction.cpp
Modified: cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td?rev=213260&r1=213259&r2=213260&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td Thu Jul 17 07:29:08 2014
@@ -41,8 +41,6 @@ def remark_fe_backend_optimization_remar
InGroup<BackendOptimizationRemarkMissed>, DefaultRemark;
def remark_fe_backend_optimization_remark_analysis : Remark<"%0">, BackendInfo,
InGroup<BackendOptimizationRemarkAnalysis>, DefaultRemark;
-def warn_fe_backend_optimization_warning : Warning<"%0">, BackendInfo,
- InGroup<BackendOptimizationWarnings>, DefaultWarn;
def note_fe_backend_optimization_remark_invalid_loc : Note<"could "
"not determine the original source location for %0:%1:%2">;
Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=213260&r1=213259&r2=213260&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Thu Jul 17 07:29:08 2014
@@ -704,7 +704,6 @@ def RemarkBackendPlugin : DiagGroup<"rem
def BackendOptimizationRemark : DiagGroup<"pass">;
def BackendOptimizationRemarkMissed : DiagGroup<"pass-missed">;
def BackendOptimizationRemarkAnalysis : DiagGroup<"pass-analysis">;
-def BackendOptimizationWarnings : DiagGroup<"optimization-warning">;
// Instrumentation based profiling warnings.
def ProfileInstrOutOfDate : DiagGroup<"profile-instr-out-of-date">;
Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenAction.cpp?rev=213260&r1=213259&r2=213260&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenAction.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenAction.cpp Thu Jul 17 07:29:08 2014
@@ -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(co
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::EmitOptimizationMe
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::OptimizationRemark
// 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::OptimizationRemark
// 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::OptimizationRemark
// 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::DiagnosticHandlerI
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);
More information about the cfe-commits
mailing list