[llvm] [AMDGPU] Remove unnecessary conditionality on atomic CSUB pseudo-ops (PR #69914)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 23 03:37:27 PDT 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Stephen Thomas (stepthomas)

<details>
<summary>Changes</summary>

The pseudo-ops for BUFFER_ATOMIC_CSUB and GLOBAL_ATOMIC_CSUB should not
be conditional on FeatureAtomicCSubNoRtnInsts, as that feature rightly
should only control whether or not the non-returning forms are available
for instruction selection, not whether they exist or not.

Change-Id: Icb2fcdcf6c7bc55e48b522d0eec8dd35637c768e


---
Full diff: https://github.com/llvm/llvm-project/pull/69914.diff


2 Files Affected:

- (modified) llvm/lib/Target/AMDGPU/BUFInstructions.td (+1-6) 
- (modified) llvm/lib/Target/AMDGPU/FLATInstructions.td (+1-5) 


``````````diff
diff --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td
index e1bdf0e3bc1bf29..897bbfa5c58bee2 100644
--- a/llvm/lib/Target/AMDGPU/BUFInstructions.td
+++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td
@@ -1047,14 +1047,9 @@ defm BUFFER_ATOMIC_DEC_X2 : MUBUF_Pseudo_Atomics <
 >;
 
 let SubtargetPredicate = HasGFX10_BEncoding in {
-  defm BUFFER_ATOMIC_CSUB : MUBUF_Pseudo_Atomics_RTN <
+  defm BUFFER_ATOMIC_CSUB : MUBUF_Pseudo_Atomics <
     "buffer_atomic_csub", VGPR_32, i32, int_amdgcn_global_atomic_csub
   >;
-
-  let OtherPredicates = [HasAtomicCSubNoRtnInsts] in
-    defm BUFFER_ATOMIC_CSUB : MUBUF_Pseudo_Atomics_NO_RTN <
-      "buffer_atomic_csub", VGPR_32, i32
-    >;
 }
 
 let SubtargetPredicate = isGFX8GFX9 in {
diff --git a/llvm/lib/Target/AMDGPU/FLATInstructions.td b/llvm/lib/Target/AMDGPU/FLATInstructions.td
index 533013a3130c05f..52c1c6230cd5541 100644
--- a/llvm/lib/Target/AMDGPU/FLATInstructions.td
+++ b/llvm/lib/Target/AMDGPU/FLATInstructions.td
@@ -871,12 +871,8 @@ defm GLOBAL_ATOMIC_DEC_X2 : FLAT_Global_Atomic_Pseudo <"global_atomic_dec_x2",
                               VReg_64, i64>;
 
 let SubtargetPredicate = HasGFX10_BEncoding in {
-  defm GLOBAL_ATOMIC_CSUB : FLAT_Global_Atomic_Pseudo_RTN <"global_atomic_csub",
+  defm GLOBAL_ATOMIC_CSUB : FLAT_Global_Atomic_Pseudo <"global_atomic_csub",
                                 VGPR_32, i32>;
-
-  let OtherPredicates = [HasAtomicCSubNoRtnInsts] in
-    defm GLOBAL_ATOMIC_CSUB : FLAT_Global_Atomic_Pseudo_NO_RTN <"global_atomic_csub",
-                                  VGPR_32, i32>;
 }
 
 defm GLOBAL_LOAD_LDS_UBYTE  : FLAT_Global_Load_LDS_Pseudo <"global_load_lds_ubyte">;

``````````

</details>


https://github.com/llvm/llvm-project/pull/69914


More information about the llvm-commits mailing list