| Index: tests_lit/llvm2ice_tests/switch-opt.ll
|
| diff --git a/tests_lit/llvm2ice_tests/switch-opt.ll b/tests_lit/llvm2ice_tests/switch-opt.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3d008d1ceec567719912b5f1e0de268ea750a1aa
|
| --- /dev/null
|
| +++ b/tests_lit/llvm2ice_tests/switch-opt.ll
|
| @@ -0,0 +1,36 @@
|
| +; RUIN: %llvm2ice %s | FileCheck %s
|
| +; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s
|
| +; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s
|
| +
|
| +define i32 @testSwitch(i32 %a) {
|
| +entry:
|
| + switch i32 %a, label %sw.default [
|
| + i32 1, label %sw.epilog
|
| + i32 2, label %sw.epilog
|
| + i32 3, label %sw.epilog
|
| + i32 7, label %sw.bb1
|
| + i32 8, label %sw.bb1
|
| + i32 15, label %sw.bb2
|
| + i32 14, label %sw.bb2
|
| + ]
|
| +
|
| +sw.default: ; preds = %entry
|
| + %add = add i32 %a, 27
|
| + br label %sw.epilog
|
| +
|
| +sw.bb1: ; preds = %entry, %entry
|
| + %phitmp = sub i32 21, %a
|
| + br label %sw.bb2
|
| +
|
| +sw.bb2: ; preds = %sw.bb1, %entry, %entry
|
| + %result.0 = phi i32 [ 1, %entry ], [ 1, %entry ], [ %phitmp, %sw.bb1 ]
|
| + br label %sw.epilog
|
| +
|
| +sw.epilog: ; preds = %sw.bb2, %sw.default, %entry, %entry, %entry
|
| + %result.1 = phi i32 [ %add, %sw.default ], [ %result.0, %sw.bb2 ], [ 17, %entry ], [ 17, %entry ], [ 17, %entry ]
|
| + ret i32 %result.1
|
| +}
|
| +
|
| +; CHECK-NOT: ICE translation error
|
| +; ERRORS-NOT: ICE translation error
|
| +; DUMP-NOT: SZ
|
|
|