LLVM 20.0.0git
|
#include "llvm/Remarks/RemarkLinker.h"
Public Types | |
using | iterator = pointee_iterator< decltype(Remarks)::const_iterator > |
Return a collection of the linked unique remarks to iterate on. | |
Public Member Functions | |
void | setExternalFilePrependPath (StringRef PrependPath) |
Set a path to prepend to the external file path. | |
void | setKeepAllRemarks (bool B) |
Set KeepAllRemarks to B . | |
Error | link (StringRef Buffer, std::optional< Format > RemarkFormat=std::nullopt) |
Link the remarks found in Buffer . | |
Error | link (const object::ObjectFile &Obj, std::optional< Format > RemarkFormat=std::nullopt) |
Link the remarks found in Obj by looking for the right section and calling the method above. | |
Error | serialize (raw_ostream &OS, Format RemarksFormat) const |
Serialize the linked remarks to the stream OS , using the format RemarkFormat . | |
bool | empty () const |
Check whether there are any remarks linked. | |
iterator_range< iterator > | remarks () const |
Definition at line 32 of file RemarkLinker.h.
using llvm::remarks::RemarkLinker::iterator = pointee_iterator<decltype(Remarks)::const_iterator> |
Return a collection of the linked unique remarks to iterate on.
Ex: for (const Remark &R : RL.remarks() { [...] }
Definition at line 102 of file RemarkLinker.h.
|
inline |
Check whether there are any remarks linked.
Definition at line 97 of file RemarkLinker.h.
Error RemarkLinker::link | ( | const object::ObjectFile & | Obj, |
std::optional< Format > | RemarkFormat = std::nullopt |
||
) |
Link the remarks found in Obj
by looking for the right section and calling the method above.
Definition at line 105 of file RemarkLinker.cpp.
References llvm::remarks::getRemarksSectionContents(), link(), llvm::Error::success(), and llvm::Expected< T >::takeError().
Link the remarks found in Buffer
.
If RemarkFormat
is not provided, try to deduce it from the metadata in Buffer
. Buffer
can be either a standalone remark container or just metadata. This takes care of uniquing and merging the remarks.
Definition at line 69 of file RemarkLinker.cpp.
References assert(), llvm::consumeError(), llvm::remarks::createRemarkParserFromMeta(), E, llvm::remarks::magicToFormat(), llvm::remarks::RemarkParser::next(), llvm::Error::success(), and llvm::Expected< T >::takeError().
Referenced by link().
|
inline |
Definition at line 104 of file RemarkLinker.h.
Referenced by serialize().
Error RemarkLinker::serialize | ( | raw_ostream & | OS, |
Format | RemarksFormat | ||
) | const |
Serialize the linked remarks to the stream OS
, using the format RemarkFormat
.
This clears internal state such as the string table. Note: this implies that the serialization mode is standalone.
Definition at line 117 of file RemarkLinker.cpp.
References llvm::remarks::createRemarkSerializer(), OS, remarks(), llvm::RemarksFormat, llvm::remarks::Standalone, llvm::Error::success(), and llvm::Expected< T >::takeError().
void RemarkLinker::setExternalFilePrependPath | ( | StringRef | PrependPath | ) |
Set a path to prepend to the external file path.
Definition at line 65 of file RemarkLinker.cpp.
|
inline |