This revision adds additional "expensive-checks" checks to the transform dialect that detect the most common cases of:
- Missing consumesHandle side effects on transform ops.
- Patterns that remove operations but do not notify the transform dialect.
In essence, these additional checks are looking for dangling pointers to erased payload ops in the transform dialect state and crash the program execution (by dereferencing free'd memory) or triggering an assertion failure. It is recommended to run these extra checks with ASAN. Otherwise, certain failures may not be detected. The ASAN error message can also be used to find the faulty transform op/pattern.
This change also fixes a few faulty transform ops.
Depends On: D147446
This should be LLVM_ENABLE_ABI_BREAKING_CHECKS because it changes the size of the object.