[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