[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / X86 / sink-down-undef-use.mir
blob7f14cecbc311812dcbf0f1d2734a2d0ab202ae48
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=x86_64-- -run-pass=machine-sink -o - %s | FileCheck %s
4 ---
5 name:            foo
6 alignment:       16
7 tracksRegLiveness: true
8 registers:
9   - { id: 0, class: gr32 }
10   - { id: 1, class: gr32 }
11   - { id: 2, class: gr32 }
12   - { id: 3, class: gr32 }
13 frameInfo:
14   maxAlignment:    4
15 machineFunctionInfo: {}
16 body:             |
17   ; CHECK-LABEL: name: foo
18   ; CHECK: bb.0.entry:
19   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
20   ; CHECK-NEXT:   liveins: $edi, $esi
21   ; CHECK-NEXT: {{  $}}
22   ; CHECK-NEXT:   JMP_1 %bb.2
23   ; CHECK-NEXT: {{  $}}
24   ; CHECK-NEXT: bb.1:
25   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
26   ; CHECK-NEXT: {{  $}}
27   ; CHECK-NEXT:   [[MOV32rr:%[0-9]+]]:gr32 = MOV32rr undef %1:gr32
28   ; CHECK-NEXT: {{  $}}
29   ; CHECK-NEXT: bb.2:
30   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.3(0x40000000)
31   ; CHECK-NEXT: {{  $}}
32   ; CHECK-NEXT:   [[MOV32rr1:%[0-9]+]]:gr32 = MOV32rr undef %3:gr32
33   ; CHECK-NEXT:   JCC_1 %bb.1, 15, implicit undef $eflags
34   ; CHECK-NEXT:   JMP_1 %bb.3
35   ; CHECK-NEXT: {{  $}}
36   ; CHECK-NEXT: bb.3:
37   ; CHECK-NEXT:   successors: %bb.3(0x40000000), %bb.4(0x40000000)
38   ; CHECK-NEXT: {{  $}}
39   ; CHECK-NEXT:   MOV32mr $rip, 1, $noreg, 12, $noreg, [[MOV32rr1]]
40   ; CHECK-NEXT:   JCC_1 %bb.3, 15, implicit undef $eflags
41   ; CHECK-NEXT:   JMP_1 %bb.4
42   ; CHECK-NEXT: {{  $}}
43   ; CHECK-NEXT: bb.4:
44   ; CHECK-NEXT:   RET 0, undef $eax
45   bb.0.entry:
46     liveins: $edi, $esi
47     JMP_1 %bb.2
48   bb.1:
49     %0:gr32 = MOV32rr undef %1:gr32
50   bb.2:
51     %2:gr32 = MOV32rr undef %3:gr32
52     JCC_1 %bb.1, 15, undef implicit $eflags
53     JMP_1 %bb.3
55   bb.3:
56     MOV32mr $rip, 1, $noreg, 12, $noreg, %2
57     JCC_1 %bb.3, 15, undef implicit $eflags
58     JMP_1 %bb.4
60   bb.4:
61     RET 0, undef $eax
63 ...