summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC/machine-combiner.ll
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-07-09 00:19:07 +0000
committerMatthias Braun <matze@braunis.de>2016-07-09 00:19:07 +0000
commit152e7c8b1222d2af61df72c08caaa740e553cb6c (patch)
tree7178c1d1db0b5bf2babca7793c71c079854e1156 /llvm/test/CodeGen/PowerPC/machine-combiner.ll
parent07985809abeb97c131d37ee389ee0fea2a646516 (diff)
downloadbcm5719-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/PowerPC/machine-combiner.ll')
-rw-r--r--llvm/test/CodeGen/PowerPC/machine-combiner.ll4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/machine-combiner.ll b/llvm/test/CodeGen/PowerPC/machine-combiner.ll
index 93fb2020d53..ae9e2e8cf6a 100644
--- a/llvm/test/CodeGen/PowerPC/machine-combiner.ll
+++ b/llvm/test/CodeGen/PowerPC/machine-combiner.ll
@@ -98,6 +98,7 @@ define <4 x float> @vector_reassociate_adds1(<4 x float> %x0, <4 x float> %x1, <
; CHECK-PWR: xvaddsp [[REG0:[0-9]+]], 34, 35
; CHECK-PWR: xvaddsp [[REG1:[0-9]+]], 36, 37
; CHECK-PWR: xvaddsp 34, [[REG0]], [[REG1]]
+; CHECK-PWR: # kill
; CHECK-NEXT: blr
%t0 = fadd <4 x float> %x0, %x1
@@ -115,6 +116,7 @@ define <4 x float> @vector_reassociate_adds2(<4 x float> %x0, <4 x float> %x1, <
; CHECK-PWR: xvaddsp [[REG0:[0-9]+]], 34, 35
; CHECK-PWR: xvaddsp [[REG1:[0-9]+]], 36, 37
; CHECK-PWR: xvaddsp 34, [[REG0]], [[REG1]]
+; CHECK-PWR: # kill
; CHECK-NEXT: blr
%t0 = fadd <4 x float> %x0, %x1
@@ -132,6 +134,7 @@ define <4 x float> @vector_reassociate_adds3(<4 x float> %x0, <4 x float> %x1, <
; CHECK-PWR: xvaddsp [[REG0:[0-9]+]], 34, 35
; CHECK-PWR: xvaddsp [[REG1:[0-9]+]], 36, 37
; CHECK-PWR: xvaddsp 34, [[REG0]], [[REG1]]
+; CHECK-PWR: # kill
; CHECK-NEXT: blr
%t0 = fadd <4 x float> %x0, %x1
@@ -149,6 +152,7 @@ define <4 x float> @vector_reassociate_adds4(<4 x float> %x0, <4 x float> %x1, <
; CHECK-PWR: xvaddsp [[REG0:[0-9]+]], 34, 35
; CHECK-PWR: xvaddsp [[REG1:[0-9]+]], 36, 37
; CHECK-PWR: xvaddsp 34, [[REG0]], [[REG1]]
+; CHECK-PWR: # kill
; CHECK-NEXT: blr
%t0 = fadd <4 x float> %x0, %x1
OpenPOWER on IntegriCloud