My Project
Classes | Public Member Functions | Public Attributes | List of all members
mlir::detail::ParallelDiagnosticHandlerImpl Struct Reference
Inheritance diagram for mlir::detail::ParallelDiagnosticHandlerImpl:
Inheritance graph
[legend]
Collaboration diagram for mlir::detail::ParallelDiagnosticHandlerImpl:
Collaboration graph
[legend]

Classes

struct  ThreadDiagnostic
 

Public Member Functions

 ParallelDiagnosticHandlerImpl (MLIRContext *ctx)
 
 ~ParallelDiagnosticHandlerImpl () override
 
void emitDiagnostics (std::function< void(Diagnostic)> emitFn) const
 Utility method to emit any held diagnostics. More...
 
void setOrderIDForThread (size_t orderID)
 Set the order id for the current thread. More...
 
void eraseOrderIDForThread ()
 Remove the order id for the current thread. More...
 
void print (raw_ostream &os) const override
 Dump the current diagnostics that were inflight. More...
 

Public Attributes

llvm::sys::SmartMutex< true > mutex
 A smart mutex to lock access to the internal state. More...
 
DenseMap< uint64_t, size_t > threadToOrderID
 A mapping between the thread id and the current order id. More...
 
std::vector< ThreadDiagnosticdiagnostics
 An unordered list of diagnostics that were emitted. More...
 
DiagnosticEngine::HandlerID handlerID
 The unique id for the parallel handler. More...
 
MLIRContextcontext
 The context to emit the diagnostics to. More...
 

Constructor & Destructor Documentation

◆ ParallelDiagnosticHandlerImpl()

mlir::detail::ParallelDiagnosticHandlerImpl::ParallelDiagnosticHandlerImpl ( MLIRContext ctx)
inline

◆ ~ParallelDiagnosticHandlerImpl()

mlir::detail::ParallelDiagnosticHandlerImpl::~ParallelDiagnosticHandlerImpl ( )
inlineoverride

Member Function Documentation

◆ emitDiagnostics()

void mlir::detail::ParallelDiagnosticHandlerImpl::emitDiagnostics ( std::function< void(Diagnostic)>  emitFn) const
inline

Utility method to emit any held diagnostics.

◆ eraseOrderIDForThread()

void mlir::detail::ParallelDiagnosticHandlerImpl::eraseOrderIDForThread ( )
inline

Remove the order id for the current thread.

◆ print()

void mlir::detail::ParallelDiagnosticHandlerImpl::print ( raw_ostream &  os) const
inlineoverride

Dump the current diagnostics that were inflight.

◆ setOrderIDForThread()

void mlir::detail::ParallelDiagnosticHandlerImpl::setOrderIDForThread ( size_t  orderID)
inline

Set the order id for the current thread.

Member Data Documentation

◆ context

MLIRContext* mlir::detail::ParallelDiagnosticHandlerImpl::context

The context to emit the diagnostics to.

◆ diagnostics

std::vector<ThreadDiagnostic> mlir::detail::ParallelDiagnosticHandlerImpl::diagnostics
mutable

An unordered list of diagnostics that were emitted.

◆ handlerID

DiagnosticEngine::HandlerID mlir::detail::ParallelDiagnosticHandlerImpl::handlerID

The unique id for the parallel handler.

◆ mutex

llvm::sys::SmartMutex<true> mlir::detail::ParallelDiagnosticHandlerImpl::mutex

A smart mutex to lock access to the internal state.

◆ threadToOrderID

DenseMap<uint64_t, size_t> mlir::detail::ParallelDiagnosticHandlerImpl::threadToOrderID

A mapping between the thread id and the current order id.


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