[x86/MIR] Implement support for pre- and post-instruction symbols, as
[llvm-complete.git] / test / CodeGen / MIR / X86 / simple-register-allocation-hints.mir
blob5cae2a20c3a5ba11bba5a2a0708eb8b3784d3152
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     RETQ killed $eax
34 ...