|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
2 |
| -; RUN: opt < %s -passes=simplifycfg -switch-to-lookup=true -keep-loops=false -S | FileCheck %s |
3 |
| -; RUN: opt < %s -passes='simplifycfg<no-keep-loops;switch-to-lookup>' -S | FileCheck %s |
| 2 | +; RUN: opt < %s -passes=simplifycfg -switch-to-lookup=true -S | FileCheck %s |
4 | 3 | target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"
|
5 | 4 | target triple = "i386-pc-linux-gnu"
|
6 | 5 |
|
@@ -198,10 +197,7 @@ return:
|
198 | 197 | define i32 @unreachable_default_holes_0to31(i32 %x, i32 %y) {
|
199 | 198 | ; CHECK-LABEL: @unreachable_default_holes_0to31(
|
200 | 199 | ; CHECK-NEXT: entry:
|
201 |
| -; CHECK-NEXT: [[SWITCH_SHIFTED:%.*]] = lshr i32 -277094665, [[X:%.*]] |
202 |
| -; CHECK-NEXT: [[SWITCH_LOBIT:%.*]] = trunc i32 [[SWITCH_SHIFTED]] to i1 |
203 |
| -; CHECK-NEXT: call void @llvm.assume(i1 [[SWITCH_LOBIT]]) |
204 |
| -; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [32 x i32], ptr @switch.table.unreachable_default_holes_0to31, i32 0, i32 [[X]] |
| 200 | +; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [32 x i32], ptr @switch.table.unreachable_default_holes_0to31, i32 0, i32 [[X:%.*]] |
205 | 201 | ; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4
|
206 | 202 | ; CHECK-NEXT: ret i32 [[SWITCH_LOAD]]
|
207 | 203 | ;
|
@@ -485,54 +481,9 @@ return:
|
485 | 481 | define i32 @unreachable_default_holes_0to32(i32 %x, i32 %y) {
|
486 | 482 | ; CHECK-LABEL: @unreachable_default_holes_0to32(
|
487 | 483 | ; CHECK-NEXT: entry:
|
488 |
| -; CHECK-NEXT: switch i32 [[X:%.*]], label [[SW_DEFAULT:%.*]] [ |
489 |
| -; CHECK-NEXT: i32 0, label [[RETURN:%.*]] |
490 |
| -; CHECK-NEXT: i32 1, label [[BB7:%.*]] |
491 |
| -; CHECK-NEXT: i32 2, label [[BB6:%.*]] |
492 |
| -; CHECK-NEXT: i32 4, label [[BB4:%.*]] |
493 |
| -; CHECK-NEXT: i32 5, label [[BB3:%.*]] |
494 |
| -; CHECK-NEXT: i32 6, label [[BB2:%.*]] |
495 |
| -; CHECK-NEXT: i32 7, label [[BB1:%.*]] |
496 |
| -; CHECK-NEXT: i32 9, label [[BB7]] |
497 |
| -; CHECK-NEXT: i32 10, label [[BB6]] |
498 |
| -; CHECK-NEXT: i32 11, label [[BB5:%.*]] |
499 |
| -; CHECK-NEXT: i32 12, label [[BB4]] |
500 |
| -; CHECK-NEXT: i32 14, label [[BB2]] |
501 |
| -; CHECK-NEXT: i32 15, label [[BB1]] |
502 |
| -; CHECK-NEXT: i32 16, label [[RETURN]] |
503 |
| -; CHECK-NEXT: i32 17, label [[BB7]] |
504 |
| -; CHECK-NEXT: i32 19, label [[BB5]] |
505 |
| -; CHECK-NEXT: i32 20, label [[BB4]] |
506 |
| -; CHECK-NEXT: i32 21, label [[BB3]] |
507 |
| -; CHECK-NEXT: i32 22, label [[BB2]] |
508 |
| -; CHECK-NEXT: i32 24, label [[RETURN]] |
509 |
| -; CHECK-NEXT: i32 25, label [[BB7]] |
510 |
| -; CHECK-NEXT: i32 26, label [[BB6]] |
511 |
| -; CHECK-NEXT: i32 27, label [[BB5]] |
512 |
| -; CHECK-NEXT: i32 29, label [[BB3]] |
513 |
| -; CHECK-NEXT: i32 30, label [[BB2]] |
514 |
| -; CHECK-NEXT: i32 31, label [[BB1]] |
515 |
| -; CHECK-NEXT: i32 32, label [[RETURN]] |
516 |
| -; CHECK-NEXT: ] |
517 |
| -; CHECK: sw.default: |
518 |
| -; CHECK-NEXT: unreachable |
519 |
| -; CHECK: bb1: |
520 |
| -; CHECK-NEXT: br label [[RETURN]] |
521 |
| -; CHECK: bb2: |
522 |
| -; CHECK-NEXT: br label [[RETURN]] |
523 |
| -; CHECK: bb3: |
524 |
| -; CHECK-NEXT: br label [[RETURN]] |
525 |
| -; CHECK: bb4: |
526 |
| -; CHECK-NEXT: br label [[RETURN]] |
527 |
| -; CHECK: bb5: |
528 |
| -; CHECK-NEXT: br label [[RETURN]] |
529 |
| -; CHECK: bb6: |
530 |
| -; CHECK-NEXT: br label [[RETURN]] |
531 |
| -; CHECK: bb7: |
532 |
| -; CHECK-NEXT: br label [[RETURN]] |
533 |
| -; CHECK: return: |
534 |
| -; CHECK-NEXT: [[RES:%.*]] = phi i32 [ 1, [[BB1]] ], [ 2, [[BB2]] ], [ 3, [[BB3]] ], [ 4, [[BB4]] ], [ 5, [[BB5]] ], [ 6, [[BB6]] ], [ 7, [[BB7]] ], [ 0, [[ENTRY:%.*]] ], [ 0, [[ENTRY]] ], [ 0, [[ENTRY]] ], [ 0, [[ENTRY]] ] |
535 |
| -; CHECK-NEXT: ret i32 [[RES]] |
| 484 | +; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [33 x i32], ptr @switch.table.unreachable_default_holes_0to32, i32 0, i32 [[X:%.*]] |
| 485 | +; CHECK-NEXT: [[SWITCH_LOAD:%.*]] = load i32, ptr [[SWITCH_GEP]], align 4 |
| 486 | +; CHECK-NEXT: ret i32 [[SWITCH_LOAD]] |
536 | 487 | ;
|
537 | 488 | entry:
|
538 | 489 | switch i32 %x, label %sw.default [
|
|
0 commit comments