matthias-springer wrote: > > _[Reviewable](https://reviewable.io/reviews/llvm/llvm-project/83425)_ > > status: 0 of 4 files reviewed, 1 unresolved discussion (waiting on @ftynse, > > @joker-eph, and @matthias-springer) > > _[`mlir/lib/Transforms/Utils/DialectConversion.cpp` line 363 at > r1](https://reviewable.io/reviews/llvm/llvm-project/83425#-Ns3aO9h2L3R0Ul-IX4T:-Ns3aO9h2L3R0Ul-IX4U:blphauh) > ([raw > file](https://github.com/llvm/llvm-project/blob/22e8d5ea80b74d687c3e792c512f50b9de81f489/mlir/lib/Transforms/Utils/DialectConversion.cpp#L363)):_ > > > ```c++ > > // notification and iterators into past IR state cannot be > > represented. > > listener->notifyBlockInserted(block, /*previous=*/region, > > /*previousIt=*/{}); > > ``` > > And this is expected in the consumer that it may get not previousIt?
Yes, that's expected because the IR was already modified (possibly a long time ago before the notification is sent) and `Region::iterator` / `Block::iterator` into past IR state cannot be represented. (We could pass a `Block *before` / `Operation *before` in to `notifyBlockInserted` / `notifyOperationInserted` in the future instead, if needed.) I updated the documentation of `ConversionConfig::listener`. https://github.com/llvm/llvm-project/pull/83425 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits