xref: /aosp_15_r20/external/llvm/test/Feature/basictest.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis > %t1.ll
2*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3*9880d681SAndroid Build Coastguard Worker; RUN: diff %t1.ll %t2.ll
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; Test "stripped" format where nothing is symbolic... this is how the bytecode
6*9880d681SAndroid Build Coastguard Worker; format looks anyways (except for negative vs positive offsets)...
7*9880d681SAndroid Build Coastguard Worker;
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine void @void(i32, i32) {
10*9880d681SAndroid Build Coastguard Worker        add i32 0, 0            ; <i32>:3 [#uses=2]
11*9880d681SAndroid Build Coastguard Worker        sub i32 0, 4            ; <i32>:4 [#uses=2]
12*9880d681SAndroid Build Coastguard Worker        br label %5
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker; <label>:5             ; preds = %5, %2
15*9880d681SAndroid Build Coastguard Worker        add i32 %0, %1          ; <i32>:6 [#uses=2]
16*9880d681SAndroid Build Coastguard Worker        sub i32 %6, %4          ; <i32>:7 [#uses=1]
17*9880d681SAndroid Build Coastguard Worker        icmp sle i32 %7, %3             ; <i1>:8 [#uses=1]
18*9880d681SAndroid Build Coastguard Worker        br i1 %8, label %9, label %5
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker; <label>:9             ; preds = %5
21*9880d681SAndroid Build Coastguard Worker        add i32 %0, %1          ; <i32>:10 [#uses=0]
22*9880d681SAndroid Build Coastguard Worker        sub i32 %6, %4          ; <i32>:11 [#uses=1]
23*9880d681SAndroid Build Coastguard Worker        icmp sle i32 %11, %3            ; <i1>:12 [#uses=0]
24*9880d681SAndroid Build Coastguard Worker        ret void
25*9880d681SAndroid Build Coastguard Worker}
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker; This function always returns zero
28*9880d681SAndroid Build Coastguard Workerdefine i32 @zarro() {
29*9880d681SAndroid Build Coastguard WorkerStartup:
30*9880d681SAndroid Build Coastguard Worker        ret i32 0
31*9880d681SAndroid Build Coastguard Worker}
32