Relax the restriction in the transform dialect interpreter utilities
that expected a payload IR op to be assocaited with at most one
transform IR handle value. This was useful during the initial
bootstrapping to avoid use-after-free error equivalents when a payload
IR op could be erased through one of the handles associated with it and
then accessed through another. It was, however, possible to erase an
ancestor of the payload IR operation in question. The expensive-checks
mode of interpretation is able to detect both cases and has proven
sufficiently robust in debugging use-after-free errors.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp | ||
---|---|---|
174–178 | nit: You could wrap this in #ifndef NDEBUG instead of (void)handles |
nit: You could wrap this in #ifndef NDEBUG instead of (void)handles