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

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 00:10:04 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";
+}
+
----------------
arsenm wrote:

This looks like a pain to maintain, and easy to miss instructions. Can't this be attached to the instruction definitions?

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


More information about the llvm-commits mailing list