MIR Serialization: Serialize the implicit register flag.
[oota-llvm.git] / test / CodeGen / MIR / X86 / implicit-register-flag.mir
1 # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
2 # This test ensures that the MIR parser parses the 'implicit' and 'implicit-def'
3 # register flags correctly.
4
5 --- |
6
7   define i32 @foo(i32 %a) {
8   entry:
9     %0 = icmp sle i32 %a, 10
10     br i1 %0, label %less, label %exit
11
12   less:
13     ret i32 0
14
15   exit:
16     ret i32 %a
17   }
18
19 ...
20 ---
21 name:            foo
22 body:
23   - id:          0
24     name:        entry
25     instructions:
26       # CHECK:      - 'CMP32ri8 %edi, 10, implicit-def %eflags'
27       # CHECK-NEXT: - 'JG_1 %bb.2.exit, implicit %eflags'
28       - 'CMP32ri8 %edi, 10, implicit-def %eflags'
29       - 'JG_1 %bb.2.exit, implicit %eflags'
30   - id:          1
31     name:        less
32     instructions:
33       # CHECK: - '%eax = MOV32r0 implicit-def %eflags'
34       - '%eax = MOV32r0 implicit-def %eflags'
35       - 'RETQ %eax'
36   - id:          2
37     name:        exit
38     instructions:
39       - '%eax = COPY %edi'
40       - 'RETQ %eax'
41 ...