Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / MIR / X86 / simple-register-allocation-hints.mir
blob84d298dbd407009ab9560f2850544b6dbc0bf025
1 # RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
2 # This test ensures that the MIR parser parses simple register allocation hints
3 # correctly.
5 --- |
7   define i32 @test(i32 %a, i32 %b) {
8   body:
9     %c = mul i32 %a, %b
10     ret i32 %c
11   }
13 ...
14 ---
15 name:            test
16 tracksRegLiveness: true
17 # CHECK: registers:
18 # CHECK-NEXT:  - { id: 0, class: gr32, preferred-register: '' }
19 # CHECK-NEXT:  - { id: 1, class: gr32, preferred-register: '$esi' }
20 # CHECK-NEXT:  - { id: 2, class: gr32, preferred-register: '$edi' }
21 registers:
22   - { id: 0, class: gr32 }
23   - { id: 1, class: gr32, preferred-register: '$esi' }
24   - { id: 2, class: gr32, preferred-register: '$edi' }
25 body: |
26   bb.0.body:
27     liveins: $edi, $esi
29     %1 = COPY $esi
30     %2 = COPY $edi
31     %2 = IMUL32rr %2, %1, implicit-def dead $eflags
32     $eax = COPY %2
33     RET64 killed $eax
34 ...