diff options
| author | River Riddle <riverriddle@google.com> | 2019-09-13 13:18:44 -0700 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-09-13 13:19:19 -0700 |
| commit | 8a1cdeb31bd56d6eb5182a3ca3e019ca9654ef39 (patch) | |
| tree | d4e536a2aa305112c18fa907401e3d7092dd1723 /mlir/lib/Pass | |
| parent | d3787e58654c15f8bfacc3471eba056f34782055 (diff) | |
| download | bcm5719-llvm-8a1cdeb31bd56d6eb5182a3ca3e019ca9654ef39.tar.gz bcm5719-llvm-8a1cdeb31bd56d6eb5182a3ca3e019ca9654ef39.zip | |
Forward diagnostics from untracked threads in ParallelDiagnosticHandler.
This allows for the use of multiple ParallelDiagnosticHandlers without having them conflict with each other.
PiperOrigin-RevId: 268967407
Diffstat (limited to 'mlir/lib/Pass')
| -rw-r--r-- | mlir/lib/Pass/Pass.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mlir/lib/Pass/Pass.cpp b/mlir/lib/Pass/Pass.cpp index ee5ad2e9166..5d5ed9d78a8 100644 --- a/mlir/lib/Pass/Pass.cpp +++ b/mlir/lib/Pass/Pass.cpp @@ -410,6 +410,12 @@ void OpToOpPassAdaptorParallel::runOnOperation() { if (instrumentor) instrumentor->runAfterPipeline(pm->getOpName(), parentThreadID); + // Drop this thread from being tracked by the diagnostic handler. + // After this task has finished, the thread may be used outside of + // this pass manager context meaning that we don't want to track + // diagnostics from it anymore. + diagHandler.eraseOrderIDForThread(); + // Handle a failed pipeline result. if (failed(pipelineResult)) { passFailed = true; |

