OLD | NEW |
(Empty) | |
| 1 ; RUIN: %llvm2ice %s | FileCheck %s |
| 2 ; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
| 3 ; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s |
| 4 |
| 5 define void @testBool(i32 %a, i32 %b) { |
| 6 entry: |
| 7 %cmp = icmp slt i32 %a, %b |
| 8 %cmp1 = icmp sgt i32 %a, %b |
| 9 br i1 %cmp, label %if.then, label %if.end |
| 10 |
| 11 if.then: ; preds = %entry |
| 12 tail call void @use(i1 %cmp) |
| 13 br label %if.end |
| 14 |
| 15 if.end: ; preds = %if.then, %entry |
| 16 br i1 %cmp1, label %if.then5, label %if.end7 |
| 17 |
| 18 if.then5: ; preds = %if.end |
| 19 tail call void @use(i1 %cmp1) |
| 20 br label %if.end7 |
| 21 |
| 22 if.end7: ; preds = %if.then5, %if.end |
| 23 ret void |
| 24 } |
| 25 |
| 26 declare void @use(i1 zeroext) |
| 27 |
| 28 ; ERRORS-NOT: ICE translation error |
| 29 |
| 30 ; CHECK: .globl testBool |
| 31 ; Two bool computations |
| 32 ; CHECK: cmp |
| 33 ; CHECK: cmp |
| 34 ; Test first bool |
| 35 ; CHECK: cmp |
| 36 ; CHECK: call |
| 37 ; Test second bool |
| 38 ; CHECK: cmp |
| 39 ; CHECK: call |
| 40 ; CHECK: ret |
| 41 ; DUMP-NOT: SZ |
OLD | NEW |