[PATCH] D61031: [AMDGPU] Fixed addReg() in SIOptimizeExecMaskingPreRA.cpp

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 23 10:59:15 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL359017: [AMDGPU] Fixed addReg() in SIOptimizeExecMaskingPreRA.cpp (authored by rampitec, committed by ).
Herald added a project: LLVM.

Changed prior to commit:
  https://reviews.llvm.org/D61031?vs=196284&id=196286#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61031/new/

https://reviews.llvm.org/D61031

Files:
  llvm/trunk/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
  llvm/trunk/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking.mir


Index: llvm/trunk/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
===================================================================
--- llvm/trunk/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
+++ llvm/trunk/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
@@ -246,7 +246,7 @@
   MachineInstr *Andn2 = BuildMI(MBB, *And, And->getDebugLoc(),
                                 TII->get(Andn2Opc), And->getOperand(0).getReg())
                             .addReg(ExecReg)
-                            .addReg(CCReg, CC->getSubReg());
+                            .addReg(CCReg, 0, CC->getSubReg());
   And->eraseFromParent();
   LIS->InsertMachineInstrInMaps(*Andn2);
 
Index: llvm/trunk/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking.mir
===================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking.mir
+++ llvm/trunk/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking.mir
@@ -463,3 +463,25 @@
   bb.4:
     S_ENDPGM 0
 ...
+
+# GCN: name: negated_cond_subreg
+# GCN:      %0.sub0_sub1:sreg_128 = IMPLICIT_DEF
+# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0.sub0_sub1, implicit-def $scc
+# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
+---
+name:            negated_cond_subreg
+body:             |
+  bb.0:
+    %0.sub0_sub1:sreg_128 = IMPLICIT_DEF
+    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0.sub0_sub1, implicit $exec
+    %2.sub0_sub1:sreg_128 = V_CMP_NE_U32_e64 %1, 1, implicit $exec
+    $vcc = S_AND_B64 $exec, killed %2.sub0_sub1:sreg_128, implicit-def dead $scc
+    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
+    S_BRANCH %bb.1
+
+  bb.1:
+    S_BRANCH %bb.0
+
+  bb.2:
+    S_ENDPGM 0
+...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61031.196286.patch
Type: text/x-patch
Size: 1698 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190423/278bb86b/attachment.bin>


More information about the llvm-commits mailing list