diff options
Diffstat (limited to 'test/CodeGen/MIR/X86/jump-table-info.mir')
| -rw-r--r-- | test/CodeGen/MIR/X86/jump-table-info.mir | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/test/CodeGen/MIR/X86/jump-table-info.mir b/test/CodeGen/MIR/X86/jump-table-info.mir deleted file mode 100644 index e44f4b237df4..000000000000 --- a/test/CodeGen/MIR/X86/jump-table-info.mir +++ /dev/null @@ -1,150 +0,0 @@ -# RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s -# This test ensures that the MIR parser parses the jump table info and jump -# table operands correctly. - ---- | - - define i32 @test_jumptable(i32 %in) { - entry: - switch i32 %in, label %def [ - i32 0, label %lbl1 - i32 1, label %lbl2 - i32 2, label %lbl3 - i32 3, label %lbl4 - ] - - def: - ret i32 0 - - lbl1: - ret i32 1 - - lbl2: - ret i32 2 - - lbl3: - ret i32 4 - - lbl4: - ret i32 8 - } - - define i32 @test_jumptable2(i32 %in) { - entry: - switch i32 %in, label %def [ - i32 0, label %lbl1 - i32 1, label %lbl2 - i32 2, label %lbl3 - i32 3, label %lbl4 - ] - - def: - ret i32 0 - - lbl1: - ret i32 1 - - lbl2: - ret i32 2 - - lbl3: - ret i32 4 - - lbl4: - ret i32 8 - } - -... ---- -name: test_jumptable -# CHECK: jumpTable: -# CHECK-NEXT: kind: label-difference32 -# CHECK-NEXT: entries: -# CHECK-NEXT: - id: 0 -# CHECK-NEXT: blocks: [ '%bb.3.lbl1', '%bb.4.lbl2', '%bb.5.lbl3', '%bb.6.lbl4' ] -# CHECK-NEXT: body: -jumpTable: - kind: label-difference32 - entries: - - id: 0 - blocks: [ '%bb.3.lbl1', '%bb.4.lbl2', '%bb.5.lbl3', '%bb.6.lbl4' ] -body: | - bb.0.entry: - successors: %bb.2.def, %bb.1.entry - - %eax = MOV32rr %edi, implicit-def %rax - CMP32ri8 %edi, 3, implicit-def %eflags - JA_1 %bb.2.def, implicit %eflags - - bb.1.entry: - successors: %bb.3.lbl1, %bb.4.lbl2, %bb.5.lbl3, %bb.6.lbl4 - ; CHECK: %rcx = LEA64r %rip, 1, _, %jump-table.0, _ - %rcx = LEA64r %rip, 1, _, %jump-table.0, _ - %rax = MOVSX64rm32 %rcx, 4, %rax, 0, _ - %rax = ADD64rr %rax, %rcx, implicit-def %eflags - JMP64r %rax - - bb.2.def: - %eax = MOV32r0 implicit-def %eflags - RETQ %eax - - bb.3.lbl1: - %eax = MOV32ri 1 - RETQ %eax - - bb.4.lbl2: - %eax = MOV32ri 2 - RETQ %eax - - bb.5.lbl3: - %eax = MOV32ri 4 - RETQ %eax - - bb.6.lbl4: - %eax = MOV32ri 8 - RETQ %eax -... ---- -name: test_jumptable2 -jumpTable: - kind: label-difference32 - entries: - - id: 1 - blocks: [ '%bb.3.lbl1', '%bb.4.lbl2', '%bb.5.lbl3', '%bb.6.lbl4' ] -body: | - bb.0.entry: - successors: %bb.2.def, %bb.1.entry - - %eax = MOV32rr %edi, implicit-def %rax - CMP32ri8 %edi, 3, implicit-def %eflags - JA_1 %bb.2.def, implicit %eflags - - bb.1.entry: - successors: %bb.3.lbl1, %bb.4.lbl2, %bb.5.lbl3, %bb.6.lbl4 - ; Verify that the printer will use an id of 0 for this jump table: - ; CHECK: %rcx = LEA64r %rip, 1, _, %jump-table.0, _ - %rcx = LEA64r %rip, 1, _, %jump-table.1, _ - %rax = MOVSX64rm32 %rcx, 4, %rax, 0, _ - %rax = ADD64rr %rax, %rcx, implicit-def %eflags - JMP64r %rax - - bb.2.def: - %eax = MOV32r0 implicit-def %eflags - RETQ %eax - - bb.3.lbl1: - %eax = MOV32ri 1 - RETQ %eax - - bb.4.lbl2: - %eax = MOV32ri 2 - RETQ %eax - - bb.5.lbl3: - %eax = MOV32ri 4 - RETQ %eax - - bb.6.lbl4: - %eax = MOV32ri 8 - RETQ %eax -... |
