[llvm] ce098cc - [AMDGPU] Simplify tablegen files. NFC.

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 7 01:19:46 PDT 2021


Author: Jay Foad
Date: 2021-07-07T09:19:23+01:00
New Revision: ce098ccc1cd154d0c84d6a0bbe0f75c86f726c03

URL: https://github.com/llvm/llvm-project/commit/ce098ccc1cd154d0c84d6a0bbe0f75c86f726c03
DIFF: https://github.com/llvm/llvm-project/commit/ce098ccc1cd154d0c84d6a0bbe0f75c86f726c03.diff

LOG: [AMDGPU] Simplify tablegen files. NFC.

There is no need to cast records to strings before comparing them.

Added: 
    

Modified: 
    llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    llvm/lib/Target/AMDGPU/BUFInstructions.td

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td b/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
index fcf0d77d52da..119c4089d6c2 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
+++ b/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
@@ -83,8 +83,7 @@ def FalsePredicate : Predicate<"false">;
 // Add a predicate to the list if does not already exist to deduplicate it.
 class PredConcat<list<Predicate> lst, Predicate pred> {
   list<Predicate> ret =
-      !listconcat([pred], !filter(item, lst,
-                                  !ne(!cast<string>(item), !cast<string>(pred))));
+      !listconcat([pred], !filter(item, lst, !ne(item, pred)));
 }
 
 class PredicateControl {

diff  --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td
index 48492bf8de3c..5f43aa8388ee 100644
--- a/llvm/lib/Target/AMDGPU/BUFInstructions.td
+++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td
@@ -436,14 +436,11 @@ class getMUBUFInsDA<list<RegisterClass> vdataList,
 }
 
 class getMUBUFElements<ValueType vt> {
-  // eq does not support ValueType for some reason.
-  string vtAsStr = !cast<string>(vt);
-
   int ret =
-    !if(!eq(vtAsStr, "f16"), 1,
-      !if(!eq(vtAsStr, "v2f16"), 2,
-        !if(!eq(vtAsStr, "v3f16"), 3,
-          !if(!eq(vtAsStr, "v4f16"), 4,
+    !if(!eq(vt, f16), 1,
+      !if(!eq(vt, v2f16), 2,
+        !if(!eq(vt, v3f16), 3,
+          !if(!eq(vt, v4f16), 4,
             !if(!eq(vt.Size, 32), 1,
               !if(!eq(vt.Size, 64), 2,
                 !if(!eq(vt.Size, 96), 3,
@@ -548,7 +545,7 @@ multiclass MUBUF_Pseudo_Loads<string opName,
                               bit TiedDest = 0,
                               bit isLds = 0> {
 
-  defvar legal_load_vt = !if(!eq(!cast<string>(load_vt), !cast<string>(v3f16)), v4f16, load_vt);
+  defvar legal_load_vt = !if(!eq(load_vt, v3f16), v4f16, load_vt);
 
   def _OFFSET : MUBUF_Load_Pseudo <opName, BUFAddrKind.Offset, legal_load_vt, TiedDest, isLds>,
     MUBUFAddr64Table<0, NAME # !if(isLds, "_LDS", "")>;
@@ -598,7 +595,7 @@ multiclass MUBUF_Pseudo_Stores<string opName,
                                ValueType store_vt = i32,
                                SDPatternOperator st = null_frag> {
 
-  defvar legal_store_vt = !if(!eq(!cast<string>(store_vt), !cast<string>(v3f16)), v4f16, store_vt);
+  defvar legal_store_vt = !if(!eq(store_vt, v3f16), v4f16, store_vt);
 
   def _OFFSET : MUBUF_Store_Pseudo <opName, BUFAddrKind.Offset, legal_store_vt,
     [(st legal_store_vt:$vdata, (MUBUFOffset v4i32:$srsrc, i32:$soffset,
@@ -1212,7 +1209,7 @@ let SubtargetPredicate = isGFX10Plus in {
 
 multiclass MUBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
                                   string opcode, ValueType memoryVt = vt> {
-  defvar st = !if(!eq(!cast<string>(memoryVt), !cast<string>(vt)), name, mubuf_intrinsic_load<name, memoryVt>);
+  defvar st = !if(!eq(memoryVt, vt), name, mubuf_intrinsic_load<name, memoryVt>);
 
   def : GCNPat<
     (vt (st v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
@@ -1294,7 +1291,7 @@ defm : MUBUF_LoadIntrinsicPat<SIbuffer_load_ushort,  i32, "BUFFER_LOAD_USHORT">;
 
 multiclass MUBUF_StoreIntrinsicPat<SDPatternOperator name, ValueType vt,
                                    string opcode, ValueType memoryVt = vt> {
-  defvar st = !if(!eq(!cast<string>(memoryVt), !cast<string>(vt)), name, mubuf_intrinsic_store<name, memoryVt>);
+  defvar st = !if(!eq(memoryVt, vt), name, mubuf_intrinsic_store<name, memoryVt>);
 
   def : GCNPat<
     (st vt:$vdata, v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
@@ -1757,7 +1754,7 @@ defm : MUBUFScratchStorePat <BUFFER_STORE_BYTE_D16_HI_OFFEN, BUFFER_STORE_BYTE_D
 
 multiclass MTBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
                                   string opcode, ValueType memoryVt = vt> {
-  defvar st = !if(!eq(!cast<string>(memoryVt), !cast<string>(vt)), name, mtbuf_intrinsic_load<name, memoryVt>);
+  defvar st = !if(!eq(memoryVt, vt), name, mtbuf_intrinsic_load<name, memoryVt>);
 
   def : GCNPat<
     (vt (st v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
@@ -1821,7 +1818,7 @@ let SubtargetPredicate = HasPackedD16VMem in {
 
 multiclass MTBUF_StoreIntrinsicPat<SDPatternOperator name, ValueType vt,
                                         string opcode, ValueType memoryVt = vt> {
-  defvar st = !if(!eq(!cast<string>(memoryVt), !cast<string>(vt)), name, mtbuf_intrinsic_store<name, memoryVt>);
+  defvar st = !if(!eq(memoryVt, vt), name, mtbuf_intrinsic_store<name, memoryVt>);
 
   def : GCNPat<
     (st vt:$vdata, v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,


        


More information about the llvm-commits mailing list