OLD | NEW |
1 ; Simple smoke test of the call instruction. The assembly checks | 1 ; Simple smoke test of the call instruction. The assembly checks |
2 ; currently only verify the function labels. | 2 ; currently only verify the function labels. |
3 | 3 |
4 ; RUN: %llvm2ice --verbose inst %s | FileCheck %s | 4 ; RUN: %p2i -i %s --args --verbose inst | FileCheck %s |
5 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 5 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s |
6 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 6 ; RUN: %p2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s |
7 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | |
8 ; RUN: | FileCheck --check-prefix=DUMP %s | |
9 | 7 |
10 define i32 @fib(i32 %n) { | 8 define i32 @fib(i32 %n) { |
11 ; CHECK: define i32 @fib | 9 ; CHECK: define i32 @fib |
12 entry: | 10 entry: |
13 %cmp = icmp slt i32 %n, 2 | 11 %cmp = icmp slt i32 %n, 2 |
14 br i1 %cmp, label %return, label %if.end | 12 br i1 %cmp, label %return, label %if.end |
15 | 13 |
16 if.end: ; preds = %entry | 14 if.end: ; preds = %entry |
17 %sub = add i32 %n, -1 | 15 %sub = add i32 %n, -1 |
18 %call = tail call i32 @fib(i32 %sub) | 16 %call = tail call i32 @fib(i32 %sub) |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 %call.i = tail call i32 @redirect_target(i32 %sub) | 61 %call.i = tail call i32 @redirect_target(i32 %sub) |
64 %cmp = icmp sgt i32 %call.i, 0 | 62 %cmp = icmp sgt i32 %call.i, 0 |
65 br i1 %cmp, label %if.then, label %if.end | 63 br i1 %cmp, label %if.then, label %if.end |
66 | 64 |
67 if.end: ; preds = %if.then, %entry | 65 if.end: ; preds = %if.then, %entry |
68 ret void | 66 ret void |
69 } | 67 } |
70 | 68 |
71 ; ERRORS-NOT: ICE translation error | 69 ; ERRORS-NOT: ICE translation error |
72 ; DUMP-NOT: SZ | 70 ; DUMP-NOT: SZ |
OLD | NEW |