implement rdar://9289524 - case followed immediately by break results in empty IR block,
a -O0 code quality issue.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129652 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/switch-dce.c b/test/CodeGen/switch-dce.c
index a03c400..07a5eba 100644
--- a/test/CodeGen/switch-dce.c
+++ b/test/CodeGen/switch-dce.c
@@ -216,3 +216,18 @@
   }
 }
 
+
+// rdar://9289524 - Check that the empty cases don't produce an empty block.
+// CHECK: @test13
+// CHECK: switch 
+// CHECK:     i32 42, label %sw.epilog
+// CHECK:     i32 11, label %sw.epilog
+// CHECK: sw.epilog:
+// CHECK: ret void
+void test13(int x) {
+  switch (x) {
+  case 42: break;  // No empty block please.
+  case 11: break;  // No empty block please.
+  default: test13(42); break;
+  }
+}