OLD | NEW |
1 ; RUIN: %llvm2ice -verbose inst %s | FileCheck %s | 1 ; RUIN: %llvm2ice -verbose inst %s | FileCheck %s |
2 ; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 2 ; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
3 ; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s | 3 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
| 4 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
| 5 ; RUN: | FileCheck --check-prefix=DUMP %s |
4 | 6 |
5 define internal i32 @simple_cond(i32 %a, i32 %n) { | 7 define internal i32 @simple_cond(i32 %a, i32 %n) { |
6 entry: | 8 entry: |
7 %cmp = icmp slt i32 %n, 0 | 9 %cmp = icmp slt i32 %n, 0 |
8 ; CHECK: %cmp = icmp slt i32 %n, 0 | 10 ; CHECK: %cmp = icmp slt i32 %n, 0 |
9 br i1 %cmp, label %if.then, label %if.else | 11 br i1 %cmp, label %if.then, label %if.else |
10 ; CHECK-NEXT: br i1 %cmp, label %if.then, label %if.else | 12 ; CHECK-NEXT: br i1 %cmp, label %if.then, label %if.else |
11 | 13 |
12 if.then: | 14 if.then: |
13 %sub = sub i32 1, %n | 15 %sub = sub i32 1, %n |
14 br label %if.end | 16 br label %if.end |
15 | 17 |
16 if.else: | 18 if.else: |
17 %gep_array = mul i32 %n, 4 | 19 %gep_array = mul i32 %n, 4 |
18 %gep = add i32 %a, %gep_array | 20 %gep = add i32 %a, %gep_array |
19 %gep.asptr = inttoptr i32 %gep to i32* | 21 %__6 = inttoptr i32 %gep to i32* |
20 %v0 = load i32* %gep.asptr, align 1 | 22 %v0 = load i32* %__6, align 1 |
21 br label %if.end | 23 br label %if.end |
22 | 24 |
23 if.end: | 25 if.end: |
24 %result.0 = phi i32 [ %sub, %if.then ], [ %v0, %if.else ] | 26 %result.0 = phi i32 [ %sub, %if.then ], [ %v0, %if.else ] |
25 ; CHECK: %result.0 = phi i32 [ %sub, %if.then ], [ %v0, %if.else ] | 27 ; CHECK: %result.0 = phi i32 [ %sub, %if.then ], [ %v0, %if.else ] |
26 ret i32 %result.0 | 28 ret i32 %result.0 |
27 } | 29 } |
28 | 30 |
29 ; ERRORS-NOT: ICE translation error | 31 ; ERRORS-NOT: ICE translation error |
30 ; DUMP-NOT: SZ | 32 ; DUMP-NOT: SZ |
OLD | NEW |