This revision updates the value numbering when printing to number from the next parent operation that is isolated from above. This is the highest level to number from that still ensures thread-safety. This revision also changes the behavior of Operator::operator<< to use local scope to avoid thread races when numbering operations.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/include/mlir/IR/Operation.h | ||
---|---|---|
608 | Did this race condition exist all along (since pass threading) or was it introduced lately? It looks like when pass threading is on, the printing has to always be "isolated from above" op local? | |
mlir/lib/IR/AsmPrinter.cpp | ||
2347 | Nit: The flags.shouldUseLocalScope() check can be hoisted out. |
mlir/include/mlir/IR/Operation.h | ||
---|---|---|
608 | This has always existed, it is only recently that something used it in the common code path. |
clang-format-diff not found in user's PATH; not linting file.