[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / tools / llvm-reduce / mir / preserve-jump-table-info.mir
blob3bfdc1c013c46f87fc08658b074482c4a1dbe110
1 # REQUIRES: aarch64-registered-target
2 # FIXME: Fails with -abort-on-invalid-reduction
3 # RUN: llvm-reduce -simplify-mir --delta-passes=instructions -mtriple=aarch64-- --test FileCheck --test-arg --check-prefix=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t 2> %t.log
4 # RUN: FileCheck --match-full-lines --check-prefix=RESULT %s < %t
6 # Check that jump table info is preserved through cloning
8 # CHECK-INTERESTINGNESS: MOVi32imm
10 # RESULT: jumpTable:
11 # RESULT-NEXT: kind:            label-difference32
12 # RESULT-NEXT: entries:
13 # RESULT-NEXT: - id:              0
14 # RESULT-NEXT: blocks:          [ '%bb.9', '%bb.5', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
15 # RESULT-NEXT:                    '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.6', '%bb.2',
16 # RESULT-NEXT:                    '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
17 # RESULT-NEXT:                    '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
18 # RESULT-NEXT:                    '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
19 # RESULT-NEXT:                    '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.7', '%bb.2',
20 # RESULT-NEXT:                    '%bb.2', '%bb.2', '%bb.2', '%bb.7' ]
22 ---
23 name:            widget
24 tracksRegLiveness: true
25 jumpTable:
26   kind:            label-difference32
27   entries:
28     - id:              0
29       blocks:          [ '%bb.9', '%bb.5', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
30                          '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.6', '%bb.2',
31                          '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
32                          '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
33                          '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.2',
34                          '%bb.2', '%bb.2', '%bb.2', '%bb.2', '%bb.7', '%bb.2',
35                          '%bb.2', '%bb.2', '%bb.2', '%bb.7' ]
36 body:             |
37   bb.0:
38     liveins: $w0, $w1, $x2, $x3, $x4, $w5, $w6
40     %0:gpr32 = COPY $w6
41     %1:gpr32 = COPY $w5
42     %2:gpr64common = COPY $x4
43     %3:gpr64 = COPY $x3
44     %4:gpr64common = COPY $x2
45     %5:gpr32common = COPY $w1
46     %6:gpr32 = COPY $w0
47     undef %7.sub_32:gpr64 = ORRWrs $wzr, %5, 0, implicit-def %7
48     %8:gpr64common = MOVaddrJT target-flags(aarch64-page) %jump-table.0, target-flags(aarch64-pageoff, aarch64-nc) %jump-table.0
49     %9:gpr32 = MOVi32imm 1
50     undef %10.sub_32:gpr64 = IMPLICIT_DEF
52   bb.1:
54   bb.2:
55     successors: %bb.3(0x0fbefbf0), %bb.4(0x70410410)
57     dead $wzr = SUBSWri %5, 39, 0, implicit-def $nzcv
58     Bcc 8, %bb.3, implicit killed $nzcv
59     B %bb.4
61   bb.3:
62     successors: %bb.11(0x00000000), %bb.2(0x80000000)
64     dead $wzr = SUBSWri %5, 64, 0, implicit-def $nzcv
65     Bcc 0, %bb.11, implicit killed $nzcv
66     B %bb.2
68   bb.4:
69     successors: %bb.9(0x01288b01), %bb.5(0x01288b01), %bb.2(0x11f46a91), %bb.6(0x23e8d524), %bb.7(0x47d1aa49)
71     early-clobber %11:gpr64, dead early-clobber %12:gpr64sp = JumpTableDest32 %8, %7, %jump-table.0
72     JUMP_TABLE_DEBUG_INFO 0
73     BR %11
75   bb.5:
76     B %bb.8
78   bb.6:
79     B %bb.2
81   bb.7:
82     B %bb.2
84   bb.8:
85     B %bb.8
87   bb.9:
88     TBZW %0, 0, %bb.1
89     B %bb.10
91   bb.10:
92     B %bb.1
94   bb.11:
95     BRK 1
97 ...