Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / MIR / X86 / killed-register-flag.mir
blob6641848c75be6aed77b8f554a76bd1198094e983
1 # RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
2 # This test ensures that the MIR parser parses the 'killed' register flags
3 # correctly.
5 --- |
7   define i32 @foo(i32 %a) {
8   entry:
9     %0 = icmp sle i32 %a, 10
10     br i1 %0, label %less, label %exit
12   less:
13     ret i32 0
15   exit:
16     ret i32 %a
17   }
19 ...
20 ---
21 name:            foo
22 body: |
23   bb.0.entry:
24     successors: %bb.1.less, %bb.2.exit
26     CMP32ri8 $edi, 10, implicit-def $eflags
27     JCC_1 %bb.2.exit, 15, implicit $eflags
29   bb.1.less:
30     ; CHECK:      $eax = MOV32r0
31     ; CHECK-NEXT: RET64 killed $eax
32     $eax = MOV32r0 implicit-def $eflags
33     RET64 killed $eax
35   bb.2.exit:
36     ; CHECK:      $eax = COPY killed $edi
37     ; CHECK-NEXT: RET64 killed $eax
38     $eax = COPY killed $edi
39     RET64 killed $eax
40 ...