[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