diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-12-22 06:07:30 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-12-22 06:07:30 +0000 |
| commit | f21a220bcd392e52e5b9613ebc661553503fa9cb (patch) | |
| tree | 83815483e8c51f2d22ef2d8ab069a09e917bbd4a /llvm/test/Transforms/SimplifyCFG | |
| parent | 2b297ed9ee1a736576c1b5153706afd1e8f1c5c5 (diff) | |
| download | bcm5719-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.ll | 19 |
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 +} |

