[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / unreachable-mbb-jtreference-elimination.ll
blobf16d34da46f25132421eee289077bf78ae98707f
1 ; RUN: llc -O2 --verify-machineinstrs -stop-before=livevars -ppc-min-jump-table-entries=4 \
2 ; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s
4 define dso_local void @foo() #0 {
5 ; CHECK-LABEL: fixedStack:
6 ; CHECK-NEXT:  stack: []
7 ; CHECK-NEXT:  entry_values: []
8 ; CHECK-NEXT:  callSites: []
9 ; CHECK-NEXT:  debugValueSubstitutions: []
10 ; CHECK-NEXT:  constants: []
11 ; CHECK-NEXT:  machineFunctionInfo: {}
12 ; CHECK-NEXT:  jumpTable:
13 ; CHECK-NEXT:    kind:            label-difference32
14 ; CHECK-NEXT:    entries:
15 ; CHECK-NEXT:      - id:              0
16 ; CHECK-NEXT:        blocks:          [  ]
17 ; CHECK-NEXT:  body:             |
18 ; CHECK-NEXT:    bb.0.entry:
19 ; CHECK-NEXT:      successors: %bb.1(0x80000000)
20 ; CHECK:           B %bb.1
21 ; CHECK:         bb.1.next11:
22 ; CHECK-NEXT:      successors: %bb.2(0x80000000)
23 ; CHECK:           B %bb.2
24 ; CHECK:         bb.2.if.end139:
25 entry:
26   br label %next11
27 next11:                                           ; preds = %entry
28   br i1 false, label %if.then12, label %if.end139
29 if.then12:                                        ; preds = %next11
30   br label %for.cond14
31 for.cond14:                                       ; preds = %if.then12
32   switch i32 undef, label %sw.epilog [
33     i32 1, label %sw.bb
34     i32 4, label %sw.bb
35     i32 6, label %sw.bb
36     i32 7, label %sw.bb
37     i32 9, label %sw.bb
38     i32 12, label %sw.bb
39     i32 15, label %sw.bb
40     i32 16, label %sw.bb
41     i32 24, label %sw.bb
42     i32 0, label %sw.bb26
43     i32 2, label %sw.bb26
44     i32 3, label %sw.bb26
45     i32 8, label %sw.bb26
46     i32 10, label %sw.bb26
47     i32 11, label %sw.bb26
48     i32 13, label %sw.bb26
49     i32 17, label %sw.bb26
50     i32 18, label %sw.bb26
51     i32 20, label %sw.bb26
52     i32 19, label %sw.bb26
53     i32 21, label %sw.bb26
54     i32 22, label %sw.bb26
55     i32 23, label %sw.bb26
56     i32 25, label %sw.bb26
57     i32 27, label %sw.bb26
58     i32 28, label %sw.bb26
59     i32 26, label %sw.bb37
60     i32 29, label %sw.bb37
61     i32 30, label %sw.bb53
62   ]
64 sw.bb:                                            ; preds = %for.cond14
65   unreachable
66 sw.bb26:                                          ; preds = %for.cond14
67   unreachable
68 sw.bb37:                                          ; preds = %for.cond14
69   unreachable
70 sw.bb53:                                          ; preds = %for.cond14
71   unreachable
72 sw.epilog:                                        ; preds = %for.cond14
73   unreachable
74 if.end139:                                        ; preds = %next11
75   unreachable
77 attributes #0 = { noinline optnone }