[llvm] [AMDGPU] Model RepeatRate (PR #207862)

Jeffrey Byrnes via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 08:19:01 PDT 2026


================
@@ -431,3 +431,121 @@ def AMDGPUImageDMaskIntrinsicTable : GenericTable {
   let PrimaryKeyName = "getAMDGPUImageDMaskIntrinsic";
   let PrimaryKeyEarlyOut = 1;
 }
+
+//===----------------------------------------------------------------------===//
+// RepeatRate Tables
+//===----------------------------------------------------------------------===//
+//
+// RepeatRate indicates how many cycles until a new instruction can acquire
+// a resource, allowing modeling of multi-cycle blocking.
+//
+//===----------------------------------------------------------------------===//
+
+class GFX1250RepeatRateEntry<Instruction inst, bits<8> rate> {
+  Instruction Inst = inst;
+  bits<8> RepeatRate = rate;
+}
+
+def GFX1250RepeatRateTable : GenericTable {
+  let FilterClass = "GFX1250RepeatRateEntry";
+  let CppTypeName = "AMDGPURepeatRateInfo";
+  let Fields = ["Inst", "RepeatRate"];
+  let PrimaryKey = ["Inst"];
+  let PrimaryKeyName = "getGFX1250RepeatRateInfo";
+}
+
----------------
jrbyrnes wrote:

I think these concerns exist whether we define it in the instruction definitions or the SearchableTables - I found it easier to express the SPG table when using SearchableTables, but I don't feel strongly enough about it to make it a point of contention.

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


More information about the llvm-commits mailing list