LLVM 20.0.0git
|
A remark type used for both emission and parsing. More...
#include "llvm/Remarks/Remark.h"
Public Member Functions | |
Remark ()=default | |
Remark (Remark &&)=default | |
Remark & | operator= (Remark &&)=default |
std::string | getArgsAsMsg () const |
Return a message composed from the arguments as a string. | |
Remark | clone () const |
Clone this remark to explicitly ask for a copy. | |
void | print (raw_ostream &OS) const |
Implement operator<< on Remark. | |
Public Attributes | |
Type | RemarkType = Type::Unknown |
The type of the remark. | |
StringRef | PassName |
Name of the pass that triggers the emission of this remark. | |
StringRef | RemarkName |
Textual identifier for the remark (single-word, camel-case). | |
StringRef | FunctionName |
Mangled name of the function that triggers the emssion of this remark. | |
std::optional< RemarkLocation > | Loc |
The location in the source file of the remark. | |
std::optional< uint64_t > | Hotness |
If profile information is available, this is the number of times the corresponding code was executed in a profile instrumentation run. | |
SmallVector< Argument, 5 > | Args |
Arguments collected via the streaming interface. | |
|
default |
|
default |
|
inline |
std::string Remark::getArgsAsMsg | ( | ) | const |
Return a message composed from the arguments as a string.
Definition at line 21 of file Remark.cpp.
void Remark::print | ( | raw_ostream & | OS | ) | const |
Implement operator<< on Remark.
Definition at line 49 of file Remark.cpp.
References Args, FunctionName, Hotness, Loc, OS, PassName, RemarkName, RemarkType, and llvm::remarks::typeToStr().
Referenced by llvm::remarks::operator<<().
SmallVector<Argument, 5> llvm::remarks::Remark::Args |
Arguments collected via the streaming interface.
Definition at line 120 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), getArgsAsMsg(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().
StringRef llvm::remarks::Remark::FunctionName |
Mangled name of the function that triggers the emssion of this remark.
Definition at line 110 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().
std::optional<uint64_t> llvm::remarks::Remark::Hotness |
If profile information is available, this is the number of times the corresponding code was executed in a profile instrumentation run.
Definition at line 117 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().
std::optional<RemarkLocation> llvm::remarks::Remark::Loc |
The location in the source file of the remark.
Definition at line 113 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().
StringRef llvm::remarks::Remark::PassName |
Name of the pass that triggers the emission of this remark.
Definition at line 102 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().
StringRef llvm::remarks::Remark::RemarkName |
Textual identifier for the remark (single-word, camel-case).
Can be used by external tools reading the output file for remarks to identify the remark.
Definition at line 107 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().
Type llvm::remarks::Remark::RemarkType = Type::Unknown |
The type of the remark.
Definition at line 99 of file Remark.h.
Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), llvm::remarks::YAMLRemarkParser::parseRemark(), and print().