Chris Lattner | cd98c72 | 2003-08-24 17:58:24 +0000 | [diff] [blame] | 1 | ; This testcase checks to see if the simplifycfg pass is converting invoke |
| 2 | ; instructions to call instructions if the handler just rethrows the exception. |
| 3 | |
| 4 | ; If this test is successful, the function should be reduced to 'call; ret' |
| 5 | |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 6 | ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \ |
Reid Spencer | 9aafdcf | 2007-04-15 09:21:47 +0000 | [diff] [blame] | 7 | ; RUN: not egrep {\\(invoke\\)|\\(br\\)} |
Chris Lattner | cd98c72 | 2003-08-24 17:58:24 +0000 | [diff] [blame] | 8 | |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 9 | declare void @bar() |
Chris Lattner | cd98c72 | 2003-08-24 17:58:24 +0000 | [diff] [blame] | 10 | |
Tanya Lattner | f04d8d1 | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 11 | define i32 @test() { |
| 12 | invoke void @bar( ) |
| 13 | to label %Ok unwind label %Rethrow |
| 14 | Ok: ; preds = %0 |
| 15 | ret i32 0 |
| 16 | Rethrow: ; preds = %0 |
| 17 | unwind |
Chris Lattner | cd98c72 | 2003-08-24 17:58:24 +0000 | [diff] [blame] | 18 | } |