[mlir][Standard] Add canonicalization for collapsing pass through cond_br successors.
authorRiver Riddle <riddleriver@gmail.com>
Thu, 23 Apr 2020 11:40:16 +0000 (04:40 -0700)
committerRiver Riddle <riddleriver@gmail.com>
Thu, 23 Apr 2020 11:42:01 +0000 (04:42 -0700)
commit2f4b303d683c91bb5b3799688ecc689f59ed9de5
tree26ee754437fc172afb66c9fc264f8c02ccb582ec
parentb108a457e1be9b5c9e20900c9e148dc14f8549b2
[mlir][Standard] Add canonicalization for collapsing pass through cond_br successors.

This revision adds support for the following canonicalization:

```
   cond_br %cond, ^bb1, ^bb2
 ^bb1
   br ^bbN(...)
 ^bb2
   br ^bbK(...)

   cond_br %cond, ^bbN(...), ^bbK(...)
```

Differential Revision: https://reviews.llvm.org/D78681
mlir/lib/Dialect/StandardOps/IR/Ops.cpp
mlir/test/Dialect/Standard/canonicalize-cf.mlir [new file with mode: 0644]
mlir/test/Transforms/canonicalize.mlir