1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/Bitcode/terminatorInstructions.3.2.ll
Michael Kuperstein 5343bbad35 Ensure bitcode encoding of instructions and their operands stays stable.
This includes instructions with aggregate operands (insert/extract), instructions with vector operands (insert/extract/shuffle), binary arithmetic and bitwise instructions, conversion instructions and terminators.

Work was done by lama.saba@intel.com.

llvm-svn: 202262
2014-02-26 12:06:36 +00:00

48 lines
877 B
LLVM

; RUN: llvm-dis < %s.bc| FileCheck %s
; 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
}