File: unreachable-mbb-jtreference-elimination.ll

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 1,998,492 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (77 lines) | stat: -rw-r--r-- 2,540 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
; RUN: llc -O2 --verify-machineinstrs -stop-before=livevars -ppc-min-jump-table-entries=4 \
; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s

define dso_local void @foo() #0 {
; CHECK-LABEL: fixedStack:
; CHECK-NEXT:  stack: []
; CHECK-NEXT:  entry_values: []
; CHECK-NEXT:  callSites: []
; CHECK-NEXT:  debugValueSubstitutions: []
; CHECK-NEXT:  constants: []
; CHECK-NEXT:  machineFunctionInfo: {}
; CHECK-NEXT:  jumpTable:
; CHECK-NEXT:    kind:            label-difference32
; CHECK-NEXT:    entries:
; CHECK-NEXT:      - id:              0
; CHECK-NEXT:        blocks:          [  ]
; CHECK-NEXT:  body:             |
; CHECK-NEXT:    bb.0.entry:
; CHECK-NEXT:      successors: %bb.1(0x80000000)
; CHECK:           B %bb.1
; CHECK:         bb.1.next11:
; CHECK-NEXT:      successors: %bb.2(0x80000000)
; CHECK:           B %bb.2
; CHECK:         bb.2.if.end139:
entry:
  br label %next11
next11:                                           ; preds = %entry
  br i1 false, label %if.then12, label %if.end139
if.then12:                                        ; preds = %next11
  br label %for.cond14
for.cond14:                                       ; preds = %if.then12
  switch i32 undef, label %sw.epilog [
    i32 1, label %sw.bb
    i32 4, label %sw.bb
    i32 6, label %sw.bb
    i32 7, label %sw.bb
    i32 9, label %sw.bb
    i32 12, label %sw.bb
    i32 15, label %sw.bb
    i32 16, label %sw.bb
    i32 24, label %sw.bb
    i32 0, label %sw.bb26
    i32 2, label %sw.bb26
    i32 3, label %sw.bb26
    i32 8, label %sw.bb26
    i32 10, label %sw.bb26
    i32 11, label %sw.bb26
    i32 13, label %sw.bb26
    i32 17, label %sw.bb26
    i32 18, label %sw.bb26
    i32 20, label %sw.bb26
    i32 19, label %sw.bb26
    i32 21, label %sw.bb26
    i32 22, label %sw.bb26
    i32 23, label %sw.bb26
    i32 25, label %sw.bb26
    i32 27, label %sw.bb26
    i32 28, label %sw.bb26
    i32 26, label %sw.bb37
    i32 29, label %sw.bb37
    i32 30, label %sw.bb53
  ]

sw.bb:                                            ; preds = %for.cond14
  unreachable
sw.bb26:                                          ; preds = %for.cond14
  unreachable
sw.bb37:                                          ; preds = %for.cond14
  unreachable
sw.bb53:                                          ; preds = %for.cond14
  unreachable
sw.epilog:                                        ; preds = %for.cond14
  unreachable
if.end139:                                        ; preds = %next11
  unreachable
}
attributes #0 = { noinline optnone }