[llvm] r305205 - AMDGPU: Don't add same implicit use multiple times

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 12 10:19:20 PDT 2017


Author: arsenm
Date: Mon Jun 12 12:19:20 2017
New Revision: 305205

URL: http://llvm.org/viewvc/llvm-project?rev=305205&view=rev
Log:
AMDGPU: Don't add same implicit use multiple times

For the last component, the same register use
was added as an implicit use and another implicit kill use.

Modified:
    llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp

Modified: llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp?rev=305205&r1=305204&r2=305205&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp Mon Jun 12 12:19:20 2017
@@ -468,13 +468,11 @@ void SIInstrInfo::copyPhysReg(MachineBas
 
     Builder.addReg(RI.getSubReg(SrcReg, SubIdx));
 
-    if (Idx == SubIndices.size() - 1)
-      Builder.addReg(SrcReg, getKillRegState(KillSrc) | RegState::Implicit);
-
     if (Idx == 0)
       Builder.addReg(DestReg, RegState::Define | RegState::Implicit);
 
-    Builder.addReg(SrcReg, RegState::Implicit);
+    bool UseKill = KillSrc && Idx == SubIndices.size() - 1;
+    Builder.addReg(SrcReg, getKillRegState(UseKill) | RegState::Implicit);
   }
 }
 




More information about the llvm-commits mailing list