summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyCFG
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-12-22 06:07:30 +0000
committerChris Lattner <sabre@nondot.org>2009-12-22 06:07:30 +0000
commitf21a220bcd392e52e5b9613ebc661553503fa9cb (patch)
tree83815483e8c51f2d22ef2d8ab069a09e917bbd4a /llvm/test/Transforms/SimplifyCFG
parent2b297ed9ee1a736576c1b5153706afd1e8f1c5c5 (diff)
downloadbcm5719-llvm-f21a220bcd392e52e5b9613ebc661553503fa9cb.tar.gz
bcm5719-llvm-f21a220bcd392e52e5b9613ebc661553503fa9cb.zip
Implement PR5795 by merging duplicated return blocks. This could go further
by merging all returns in a function into a single one, but simplifycfg currently likes to duplicate the return (an unfortunate choice!) llvm-svn: 91890
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG')
-rw-r--r--llvm/test/Transforms/SimplifyCFG/basictest.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/basictest.ll b/llvm/test/Transforms/SimplifyCFG/basictest.ll
index d0e47542523..83a9fa7ad1b 100644
--- a/llvm/test/Transforms/SimplifyCFG/basictest.ll
+++ b/llvm/test/Transforms/SimplifyCFG/basictest.ll
@@ -38,3 +38,22 @@ return:
@test4g = global i8* blockaddress(@test4, %return)
+; PR5795
+define void @test5(i32 %A) {
+ switch i32 %A, label %return [
+ i32 2, label %bb
+ i32 10, label %bb1
+ ]
+
+bb: ; preds = %entry
+ ret void
+
+bb1: ; preds = %entry
+ ret void
+
+return: ; preds = %entry
+ ret void
+; CHECK: @test5
+; CHECK-NEXT: bb:
+; CHECK-NEXT: ret void
+}
OpenPOWER on IntegriCloud