diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 10:01:25 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 10:01:25 +0000 |
commit | d8e91e46262bc44006913e6796843909f1ac7bcd (patch) | |
tree | 7d0c143d9b38190e0fa0180805389da22cd834c5 /test/CodeGen/X86/twoaddr-dbg-value.mir | |
parent | b7eb8e35e481a74962664b63dfb09483b200209a (diff) | |
download | src-d8e91e46262bc44006913e6796843909f1ac7bcd.tar.gz src-d8e91e46262bc44006913e6796843909f1ac7bcd.zip |
Vendor import of llvm trunk r351319 (just before the release_80 branchvendor/llvm/llvm-trunk-r351319
Notes
Notes:
svn path=/vendor/llvm/dist/; revision=343171
svn path=/vendor/llvm/llvm-trunk-r351319/; revision=343172; tag=vendor/llvm/llvm-trunk-r351319
Diffstat (limited to 'test/CodeGen/X86/twoaddr-dbg-value.mir')
-rw-r--r-- | test/CodeGen/X86/twoaddr-dbg-value.mir | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/CodeGen/X86/twoaddr-dbg-value.mir b/test/CodeGen/X86/twoaddr-dbg-value.mir new file mode 100644 index 000000000000..f2d6c5df5822 --- /dev/null +++ b/test/CodeGen/X86/twoaddr-dbg-value.mir @@ -0,0 +1,27 @@ +# RUN: llc -run-pass=livevars,twoaddressinstruction -mtriple=x86_64-- -o - %s | FileCheck %s +--- +name: foo +tracksRegLiveness: true +body: | + bb.0: + liveins: $edi + + %0:gr32 = COPY killed $edi + %1:gr32 = COPY killed %0 + %4:gr32 = XOR32ri8 %1, 1, implicit-def dead $eflags + DBG_VALUE %4 + %5:gr32 = COPY %4 + PUSH32r killed %1, implicit-def $esp, implicit $esp + $eax = COPY killed %5 + RETQ implicit killed $eax + +... + +# Verify that the DBG_VALUE instruction does not inhibit +# TwoAddressInstructionPass::rescheduleMIBelowKill optimization + +# CHECK: PUSH32r %1, implicit-def $esp, implicit $esp +# CHECK-NEXT: %2:gr32 = COPY killed %1 +# CHECK-NEXT: %2:gr32 = XOR32ri8 %2, 1, implicit-def dead $eflags +# CHECK-NEXT: DBG_VALUE %2 +# CHECK-NEXT: %3:gr32 = COPY killed %2 |