Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / twoaddr-dbg-value.mir
blobd931ed04e53a56f2626f75ad14921eef6b883f34
1 # RUN: llc -run-pass=livevars,twoaddressinstruction -mtriple=x86_64-- -o - %s | FileCheck %s
2 ---
3 name:            foo
4 tracksRegLiveness: true
5 body:             |
6   bb.0:
7     liveins: $edi
9     %0:gr32 = COPY killed $edi
10     %1:gr32 = COPY killed %0
11     %4:gr32 = XOR32ri %1, 1, implicit-def dead $eflags
12     DBG_VALUE %4
13     %5:gr32 = COPY %4
14     PUSH32r killed %1, implicit-def $esp, implicit $esp
15     $eax = COPY killed %5
16     RET64 implicit killed $eax
18 ...
20 # Verify that the DBG_VALUE instruction does not inhibit
21 # TwoAddressInstructionPass::rescheduleMIBelowKill optimization
23 # CHECK: PUSH32r %1, implicit-def $esp, implicit $esp
24 # CHECK-NEXT: %2:gr32 = COPY killed %1
25 # CHECK-NEXT: %2:gr32 = XOR32ri %2, 1, implicit-def dead $eflags
26 # CHECK-NEXT: DBG_VALUE %2
27 # CHECK-NEXT: %3:gr32 = COPY killed %2