MLIR  20.0.0git
Classes | Public Member Functions | List of all members
mlir::detail::PassCrashReproducerGenerator Class Reference

#include "Pass/PassDetail.h"

Classes

struct  Impl
 

Public Member Functions

 PassCrashReproducerGenerator (ReproducerStreamFactory &streamFactory, bool localReproducer)
 
 ~PassCrashReproducerGenerator ()
 
void initialize (iterator_range< PassManager::pass_iterator > passes, Operation *op, bool pmFlagVerifyPasses)
 Initialize the generator in preparation for reproducer generation. More...
 
void finalize (Operation *rootOp, LogicalResult executionResult)
 Finalize the current run of the generator, generating any necessary reproducers if the provided execution result is a failure. More...
 
void prepareReproducerFor (Pass *pass, Operation *op)
 Prepare a new reproducer for the given pass, operating on op. More...
 
void prepareReproducerFor (iterator_range< PassManager::pass_iterator > passes, Operation *op)
 Prepare a new reproducer for the given passes, operating on op. More...
 
void removeLastReproducerFor (Pass *pass, Operation *op)
 Remove the last recorded reproducer anchored at the given pass and operation. More...
 

Detailed Description

Definition at line 99 of file PassDetail.h.

Constructor & Destructor Documentation

◆ PassCrashReproducerGenerator()

PassCrashReproducerGenerator::PassCrashReproducerGenerator ( ReproducerStreamFactory streamFactory,
bool  localReproducer 
)

Definition at line 207 of file PassCrashRecovery.cpp.

◆ ~PassCrashReproducerGenerator()

PassCrashReproducerGenerator::~PassCrashReproducerGenerator ( )
default

Member Function Documentation

◆ finalize()

void PassCrashReproducerGenerator::finalize ( Operation rootOp,
LogicalResult  executionResult 
)

Finalize the current run of the generator, generating any necessary reproducers if the provided execution result is a failure.

Definition at line 238 of file PassCrashRecovery.cpp.

References diag(), mlir::emitError(), formatPassOpReproducerMessage(), mlir::detail::RecoveryReproducerContext::generate(), and mlir::Operation::getLoc().

◆ initialize()

void PassCrashReproducerGenerator::initialize ( iterator_range< PassManager::pass_iterator passes,
Operation op,
bool  pmFlagVerifyPasses 
)

Initialize the generator in preparation for reproducer generation.

The generator should be reinitialized before each run of the pass manager.

Definition at line 212 of file PassCrashRecovery.cpp.

References mlir::Operation::getContext(), mlir::MLIRContext::isMultithreadingEnabled(), and prepareReproducerFor().

◆ prepareReproducerFor() [1/2]

void PassCrashReproducerGenerator::prepareReproducerFor ( iterator_range< PassManager::pass_iterator passes,
Operation op 
)

Prepare a new reproducer for the given passes, operating on op.

Definition at line 326 of file PassCrashRecovery.cpp.

References mlir::Pass::printAsTextualPipeline().

◆ prepareReproducerFor() [2/2]

void PassCrashReproducerGenerator::prepareReproducerFor ( Pass pass,
Operation op 
)

Prepare a new reproducer for the given pass, operating on op.

Definition at line 293 of file PassCrashRecovery.cpp.

References mlir::Operation::getName(), mlir::Operation::getParentOp(), and mlir::Pass::printAsTextualPipeline().

Referenced by initialize().

◆ removeLastReproducerFor()

void PassCrashReproducerGenerator::removeLastReproducerFor ( Pass pass,
Operation op 
)

Remove the last recorded reproducer anchored at the given pass and operation.

Definition at line 337 of file PassCrashRecovery.cpp.


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