| ; RUN: llvm-dis < %s.bc| FileCheck %s |
| ; RUN: verify-uselistorder < %s.bc -preserve-bc-use-list-order -num-shuffles=5 |
| |
| ; TerminatorOperations.3.2.ll.bc was generated by passing this file to llvm-as-3.2. |
| ; The test checks that LLVM does not misread terminator instructions from |
| ; older bitcode files. |
| |
| define i32 @condbr(i1 %cond){ |
| entry: |
| ; CHECK: br i1 %cond, label %TrueLabel, label %FalseLabel |
| br i1 %cond, label %TrueLabel, label %FalseLabel |
| |
| TrueLabel: |
| ret i32 1 |
| |
| FalseLabel: |
| ret i32 0 |
| } |
| |
| define i32 @uncondbr(){ |
| entry: |
| ; CHECK: br label %uncondLabel |
| br label %uncondLabel |
| |
| uncondLabel: |
| ret i32 1 |
| } |
| |
| define i32 @indirectbr(i8* %Addr){ |
| entry: |
| ; CHECK: indirectbr i8* %Addr, [label %bb1, label %bb2] |
| indirectbr i8* %Addr, [ label %bb1, label %bb2 ] |
| |
| bb1: |
| ret i32 1 |
| |
| bb2: |
| ret i32 0 |
| } |
| |
| define void @unreachable(){ |
| entry: |
| ; CHECK: unreachable |
| unreachable |
| |
| ret void |
| } |
| |