LLVM  10.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::remarks::Remark Struct Reference

A remark type used for both emission and parsing. More...

#include "llvm/Remarks/Remark.h"

Collaboration diagram for llvm::remarks::Remark:
Collaboration graph
[legend]

Public Member Functions

 Remark ()=default
 
 Remark (Remark &&)=default
 
Remarkoperator= (Remark &&)=default
 
std::string getArgsAsMsg () const
 Return a message composed from the arguments as a string. More...
 
Remark clone () const
 Clone this remark to explicitly ask for a copy. More...
 

Public Attributes

Type RemarkType = Type::Unknown
 The type of the remark. More...
 
StringRef PassName
 Name of the pass that triggers the emission of this remark. More...
 
StringRef RemarkName
 Textual identifier for the remark (single-word, camel-case). More...
 
StringRef FunctionName
 Mangled name of the function that triggers the emssion of this remark. More...
 
Optional< RemarkLocationLoc
 The location in the source file of the remark. More...
 
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. More...
 
SmallVector< Argument, 5 > Args
 Arguments collected via the streaming interface. More...
 

Detailed Description

A remark type used for both emission and parsing.

Definition at line 67 of file Remark.h.

Constructor & Destructor Documentation

◆ Remark() [1/2]

llvm::remarks::Remark::Remark ( )
default

◆ Remark() [2/2]

llvm::remarks::Remark::Remark ( Remark &&  )
default

Member Function Documentation

◆ clone()

Remark llvm::remarks::Remark::clone ( ) const
inline

Clone this remark to explicitly ask for a copy.

Definition at line 100 of file Remark.h.

References DEFINE_SIMPLE_CONVERSION_FUNCTIONS.

◆ getArgsAsMsg()

std::string Remark::getArgsAsMsg ( ) const

Return a message composed from the arguments as a string.

Definition at line 21 of file Remark.cpp.

References Arg, Args, DEFINE_SIMPLE_CONVERSION_FUNCTIONS, and llvm::raw_string_ostream::str().

◆ operator=()

Remark& llvm::remarks::Remark::operator= ( Remark &&  )
default

Member Data Documentation

◆ Args

SmallVector<Argument, 5> llvm::remarks::Remark::Args

◆ FunctionName

StringRef llvm::remarks::Remark::FunctionName

Mangled name of the function that triggers the emssion of this remark.

Definition at line 80 of file Remark.h.

Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), LLVMRemarkEntryGetFunctionName(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), and toRemarkLocation().

◆ Hotness

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 87 of file Remark.h.

Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), LLVMRemarkEntryGetHotness(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), and toRemarkLocation().

◆ Loc

Optional<RemarkLocation> llvm::remarks::Remark::Loc

◆ PassName

StringRef llvm::remarks::Remark::PassName

◆ RemarkName

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 77 of file Remark.h.

Referenced by llvm::remarks::BitstreamRemarkSerializerHelper::emitRemarkBlock(), LLVMRemarkEntryGetRemarkName(), llvm::yaml::MappingTraits< remarks::Remark * >::mapping(), and toRemarkLocation().

◆ RemarkType

Type llvm::remarks::Remark::RemarkType = Type::Unknown

The documentation for this struct was generated from the following files: