Reid Spencer | 69ccadd | 2006-12-02 04:23:10 +0000 | [diff] [blame] | 1 | ; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep unreachable |
Chris Lattner | d7e3097 | 2004-10-18 04:06:41 +0000 | [diff] [blame] | 2 | |
| 3 | void %test1(bool %C, bool* %BP) { |
| 4 | br bool %C, label %T, label %F |
| 5 | T: |
| 6 | store bool %C, bool* %BP ;; dead |
| 7 | unreachable |
| 8 | F: |
| 9 | ret void |
| 10 | } |
| 11 | |
| 12 | void %test2() { |
| 13 | invoke void %test2() to label %N unwind label %U |
| 14 | U: |
| 15 | unreachable |
| 16 | N: |
| 17 | ret void |
| 18 | } |
| 19 | |
| 20 | int %test3(int %v) { |
| 21 | switch int %v, label %default [ int 1, label %U |
| 22 | int 2, label %T] |
| 23 | default: |
| 24 | ret int 1 |
| 25 | U: |
| 26 | unreachable |
| 27 | T: |
| 28 | ret int 2 |
| 29 | } |