13#ifndef LLVM_REMARKS_REMARKLINKER_H
14#define LLVM_REMARKS_REMARKLINKER_H
35 struct RemarkPtrCompare {
36 bool operator()(
const std::unique_ptr<Remark> &
LHS,
37 const std::unique_ptr<Remark> &
RHS)
const {
52 std::set<std::unique_ptr<Remark>, RemarkPtrCompare> Remarks;
55 std::optional<std::string> PrependPath;
59 bool KeepAllRemarks =
true;
66 bool shouldKeepRemark(
const Remark &R) {
67 return KeepAllRemarks ?
true : R.Loc.has_value();
83 std::optional<Format> RemarkFormat = std::nullopt);
88 std::optional<Format> RemarkFormat = std::nullopt);
97 bool empty()
const {
return Remarks.empty(); }
105 return {Remarks.begin(), Remarks.end()};
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
StringRef - Represent a constant reference to a string, i.e.
A range adaptor for a pair of iterators.
This class is the base class for all object file types.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
cl::opt< std::string > RemarksFormat("lto-pass-remarks-format", cl::desc("The format used for serializing remarks (default: YAML)"), cl::value_desc("format"), cl::init("yaml"))
An iterator type that allows iterating over the pointees via some other iterator.