MLIR 24.0.0git
mlir::remark::RemarkEmittingPolicyFinal Class Reference

Policy that emits only the last remark reported for each identity, see DenseMapInfo<Remark>. More...

#include "mlir/IR/Remarks.h"

Inheritance diagram for mlir::remark::RemarkEmittingPolicyFinal:

Public Member Functions

 RemarkEmittingPolicyFinal ()
void reportRemark (const detail::Remark &remark) override
void finalize () override
 Emit each survivor once, grouping related remarks after their parents.
Public Member Functions inherited from mlir::remark::detail::RemarkEmittingPolicyBase
 RemarkEmittingPolicyBase ()=default
virtual ~RemarkEmittingPolicyBase ()=default
void initialize (ReportFn fn)
virtual SmallVector< RemarkId > findRemarks (const RemarkOpts &opts, std::optional< RemarkKind > kind=std::nullopt) const
 Find previously reported remarks matching the given criteria.

Additional Inherited Members

Protected Attributes inherited from mlir::remark::detail::RemarkEmittingPolicyBase
ReportFn reportImpl

Detailed Description

Policy that emits only the last remark reported for each identity, see DenseMapInfo<Remark>.

Remarks are stored until finalize().

Definition at line 680 of file Remarks.h.

Constructor & Destructor Documentation

◆ RemarkEmittingPolicyFinal()

mlir::remark::RemarkEmittingPolicyFinal::RemarkEmittingPolicyFinal ( )
default

Member Function Documentation

◆ finalize()

void mlir::remark::RemarkEmittingPolicyFinal::finalize ( )
overridevirtual

Emit each survivor once, grouping related remarks after their parents.

Visit roots with IDs in ID order, then ID-less roots in unspecified order. Finally, start traversals from any unvisited remarks in ID order. Links to IDs replaced in this batch are removed; IDs outside this batch are preserved without validation. Call after reporting stops; callbacks must not reenter the policy. A later call emits only new remarks.

Implements mlir::remark::detail::RemarkEmittingPolicyBase.

Definition at line 408 of file Remarks.cpp.

References mlir::remark::dropDiscardedLinks(), emit(), and mlir::remark::detail::RemarkEmittingPolicyBase::reportImpl.

◆ reportRemark()

void mlir::remark::RemarkEmittingPolicyFinal::reportRemark ( const detail::Remark & remark)
overridevirtual

Implements mlir::remark::detail::RemarkEmittingPolicyBase.

Definition at line 396 of file Remarks.cpp.

References copy().


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