diff options
author | Matthias Braun <matze@braunis.de> | 2016-07-09 00:19:07 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2016-07-09 00:19:07 +0000 |
commit | 152e7c8b1222d2af61df72c08caaa740e553cb6c (patch) | |
tree | 7178c1d1db0b5bf2babca7793c71c079854e1156 /llvm/test/CodeGen/X86/vec_insert-mmx.ll | |
parent | 07985809abeb97c131d37ee389ee0fea2a646516 (diff) | |
download | bcm5719-llvm-152e7c8b1222d2af61df72c08caaa740e553cb6c.tar.gz bcm5719-llvm-152e7c8b1222d2af61df72c08caaa740e553cb6c.zip |
VirtRegMap: Replace some identity copies with KILL instructions.
An identity COPY like this:
%AL = COPY %AL, %EAX<imp-def>
has no semantic effect, but encodes liveness information: Further users
of %EAX only depend on this instruction even though it does not define
the full register.
Replace the COPY with a KILL instruction in those cases to maintain this
liveness information. (This reverts a small part of r238588 but this
time adds a comment explaining why a KILL instruction is useful).
llvm-svn: 274952
Diffstat (limited to 'llvm/test/CodeGen/X86/vec_insert-mmx.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/vec_insert-mmx.ll | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/vec_insert-mmx.ll b/llvm/test/CodeGen/X86/vec_insert-mmx.ll index 64c014784f4..2aae35591ab 100644 --- a/llvm/test/CodeGen/X86/vec_insert-mmx.ll +++ b/llvm/test/CodeGen/X86/vec_insert-mmx.ll @@ -16,6 +16,7 @@ define x86_mmx @t0(i32 %A) nounwind { ; ; X64-LABEL: t0: ; X64: ## BB#0: +; X64-NEXT: ## kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-NEXT: movd %rdi, %xmm0 ; X64-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6,7] ; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3] |