[llvm] [RISCV] Use TableGen-based macro fusion (PR #72224)

Mikhail Gudim via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 14 05:40:29 PST 2023


================
@@ -469,6 +473,67 @@ class SchedAlias<SchedReadWrite match, SchedReadWrite alias> {
   SchedMachineModel SchedModel = ?;
 }
 
+// Base class of MacroFusionPredicate, etc. The avaliable variables are:
+// * const TargetInstrInfo &TII
+// * const TargetSubtargetInfo &STI
+// * const MachineRegisterInfo &MRI
+// * const MachineInstr *FirstMI
+// * const MachineInstr &SecondMI
+class MacroFusionPredicateBase;
+
+// MacroFusionPredicate with raw code predicate.
+class MacroFusionPredicate<code pred> : MacroFusionPredicateBase {
+  code Predicate = pred;
+}
+
+// Binds firstOpIdx and secondOpIdx. The operand of `FirstMI` at position
----------------
mgudim wrote:

In llvm custom terminology is `tied` operand, rather than `bind`.

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


More information about the llvm-commits mailing list