Add 'remark' diagnostic type in LLVM

A 'remark' is information that is not an error or a warning, but rather some
additional information provided to the user. In contrast to a 'note' a 'remark'
is an independent diagnostic, whereas a 'note' always depends on another
diagnostic.

A typical use case for remark nodes is information provided to the user, e.g.
information provided by the vectorizer about loops that have been vectorized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202474 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tobias Grosser 2014-02-28 09:08:45 +00:00
parent 6e2a50ea0a
commit 72c42d9341
4 changed files with 14 additions and 4 deletions

View File

@ -40,7 +40,7 @@ typedef bool lto_bool_t;
* @{
*/
#define LTO_API_VERSION 9
#define LTO_API_VERSION 10
/**
* \since prior to LTO_API_VERSION=3
@ -299,9 +299,10 @@ lto_module_get_linkeropt(lto_module_t mod, unsigned int index);
* \since LTO_API_VERSION=7
*/
typedef enum {
LTO_DS_ERROR,
LTO_DS_WARNING,
LTO_DS_NOTE
LTO_DS_ERROR = 0,
LTO_DS_WARNING = 1,
LTO_DS_REMARK = 3, // Added in LTO_API_VERSION=10.
LTO_DS_NOTE = 2
} lto_codegen_diagnostic_severity_t;
/**

View File

@ -31,6 +31,9 @@ class Value;
enum DiagnosticSeverity {
DS_Error,
DS_Warning,
DS_Remark,
// A note attaches additional information to one of the previous diagnostic
// types.
DS_Note
};

View File

@ -142,6 +142,9 @@ void LLVMContext::diagnose(const DiagnosticInfo &DI) {
case DS_Warning:
errs() << "warning: " << MsgStorage << "\n";
break;
case DS_Remark:
errs() << "remark: " << MsgStorage << "\n";
break;
case DS_Note:
errs() << "note: " << MsgStorage << "\n";
break;

View File

@ -562,6 +562,9 @@ void LTOCodeGenerator::DiagnosticHandler2(const DiagnosticInfo &DI) {
case DS_Warning:
Severity = LTO_DS_WARNING;
break;
case DS_Remark:
Severity = LTO_DS_REMARK;
break;
case DS_Note:
Severity = LTO_DS_NOTE;
break;