summaryrefslogtreecommitdiffstats
path: root/mlir/test/Transforms
diff options
context:
space:
mode:
authorRiver Riddle <riverriddle@google.com>2019-10-30 11:18:51 -0700
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-10-30 11:19:24 -0700
commita32f0dcb5d963d2281bc08902468693ea2911342 (patch)
tree76787dac7650f1ee5c102f4777f9b54d748c72b4 /mlir/test/Transforms
parent0568e952b6d1dc53f44c8eb5af167fc9d2e0bb34 (diff)
downloadbcm5719-llvm-a32f0dcb5d963d2281bc08902468693ea2911342.tar.gz
bcm5719-llvm-a32f0dcb5d963d2281bc08902468693ea2911342.zip
Add support to GreedyPatternRewriter for erasing unreachable blocks.
Rewrite patterns may make modifications to the CFG, including dropping edges between blocks. This change adds a simple unreachable block elimination run at the end of each iteration to ensure that the CFG remains valid. PiperOrigin-RevId: 277545805
Diffstat (limited to 'mlir/test/Transforms')
-rw-r--r--mlir/test/Transforms/canonicalize.mlir15
1 files changed, 15 insertions, 0 deletions
diff --git a/mlir/test/Transforms/canonicalize.mlir b/mlir/test/Transforms/canonicalize.mlir
index fc8e92ed582..3600cc23c56 100644
--- a/mlir/test/Transforms/canonicalize.mlir
+++ b/mlir/test/Transforms/canonicalize.mlir
@@ -323,6 +323,21 @@ func @dead_dealloc_fold_multi_use(%cond : i1) {
return
}
+// CHECK-LABEL: func @dead_block_elim
+func @dead_block_elim() {
+ // CHECK-NOT ^bb
+ func @nested() {
+ return
+
+ ^bb1:
+ return
+ }
+ return
+
+^bb1:
+ return
+}
+
// CHECK-LABEL: func @dyn_shape_fold(%arg0: index, %arg1: index)
func @dyn_shape_fold(%L : index, %M : index) -> (memref<? x ? x i32>, memref<? x ? x f32>) {
// CHECK: %c0 = constant 0 : index
OpenPOWER on IntegriCloud