summaryrefslogtreecommitdiff
path: root/test/CodeGen/SPARC
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
commit79519fecc311f2ced5d204a9f7de296aaa246e9b (patch)
tree699d58c054c190a039f4324211751c553bb0f1ce /test/CodeGen/SPARC
parent93ad397da1c0d0df4e3a070de495801195b8efc9 (diff)
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274952 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/SPARC')
-rw-r--r--test/CodeGen/SPARC/32abi.ll2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/CodeGen/SPARC/32abi.ll b/test/CodeGen/SPARC/32abi.ll
index ccea1adceaf..09e7a3a09d8 100644
--- a/test/CodeGen/SPARC/32abi.ll
+++ b/test/CodeGen/SPARC/32abi.ll
@@ -60,9 +60,11 @@ define void @call_intarg(i32 %i0, i8* %i1) {
; HARD: mov %i5, %g2
; HARD-NEXT: ld [%fp+92], %g3
; HARD-NEXT: mov %i4, %i5
+; HARD-NEXT: ! kill
; HARD-NEXT: std %g2, [%fp+-24]
; HARD-NEXT: mov %i3, %i4
; HARD-NEXT: std %i4, [%fp+-16]
+; HARD-NEXT: ! kill
; HARD-NEXT: std %i0, [%fp+-8]
; HARD-NEXT: st %i2, [%fp+-28]
; HARD-NEXT: ld [%fp+104], %f0