This allows for the conversion to match A(B()) -> C() with a pattern matching
A and marking B for deletion.
Also add better assertions when an operation is erased while still having uses.
| Paths 
 |  Differential  D99442  
Fix deletion of operations through the rewriter in a pattern matching a consumer operation ClosedPublic Authored by mehdi_amini on Mar 26 2021, 2:12 PM. 
Details Summary This allows for the conversion to match A(B()) -> C() with a pattern matching Also add better assertions when an operation is erased while still having uses. 
Diff Detail 
 Event TimelineHerald added subscribers: dcaballe, cota, teijeong and 14 others.  ·  View Herald TranscriptMar 26 2021, 2:12 PM jpienaar added inline comments. 
 This revision is now accepted and ready to land.Mar 26 2021, 2:35 PM 
 
 mehdi_amini added inline comments. Closed by commit rGa360a9786f5f: Fix deletion of operations through the rewriter in a pattern matching a… (authored by mehdi_amini).  ·  Explain WhyMar 30 2021, 3:03 PM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
 
Diff 334278 mlir/lib/IR/Operation.cpp
 mlir/lib/Transforms/Utils/DialectConversion.cpp
 mlir/test/Transforms/test-legalizer.mlir
 mlir/test/lib/Dialect/Test/TestOps.td
 mlir/test/lib/Dialect/Test/TestPatterns.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
!use_empty()?