[llvm-exegesis][NFC] Pass Instruction instead of bare Opcode
[llvm-core.git] / test / Feature / basictest.ll
blob2303b593ffeae2844d2f2ec5dd3234967faf18a7
1 ; RUN: llvm-as < %s | llvm-dis > %t1.ll
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3 ; RUN: diff %t1.ll %t2.ll
5 ; Test "stripped" format where nothing is symbolic... this is how the bytecode
6 ; format looks anyways (except for negative vs positive offsets)...
9 define void @void(i32, i32) {
10         add i32 0, 0            ; <i32>:3 [#uses=2]
11         sub i32 0, 4            ; <i32>:4 [#uses=2]
12         br label %5
14 ; <label>:5             ; preds = %5, %2
15         add i32 %0, %1          ; <i32>:6 [#uses=2]
16         sub i32 %6, %4          ; <i32>:7 [#uses=1]
17         icmp sle i32 %7, %3             ; <i1>:8 [#uses=1]
18         br i1 %8, label %9, label %5
20 ; <label>:9             ; preds = %5
21         add i32 %0, %1          ; <i32>:10 [#uses=0]
22         sub i32 %6, %4          ; <i32>:11 [#uses=1]
23         icmp sle i32 %11, %3            ; <i1>:12 [#uses=0]
24         ret void
27 ; This function always returns zero
28 define i32 @zarro() {
29 Startup:
30         ret i32 0