• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o - %s | FileCheck %s
2# This test ensures that the MIR parser parses the 'killed' register flags
3# 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---
21name:            foo
22body: |
23  bb.0.entry:
24    successors: %bb.1.less, %bb.2.exit
25
26    CMP32ri8 %edi, 10, implicit-def %eflags
27    JG_1 %bb.2.exit, implicit %eflags
28
29  bb.1.less:
30    ; CHECK:      %eax = MOV32r0
31    ; CHECK-NEXT: RETQ killed %eax
32    %eax = MOV32r0 implicit-def %eflags
33    RETQ killed %eax
34
35  bb.2.exit:
36    ; CHECK:      %eax = COPY killed %edi
37    ; CHECK-NEXT: RETQ killed %eax
38    %eax = COPY killed %edi
39    RETQ killed %eax
40...
41