[llvm] [TableGen][DecoderEmitter] Rework table construction/emission (PR #155889)

Rahul Joshi via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 18 08:52:07 PDT 2025


================
@@ -1705,6 +1230,605 @@ static DecodeStatus decodeInstruction(const uint8_t DecodeTable[], MCInst &MI,
 )";
 }
 
+namespace {
+
+class DecoderTreeNode {
+public:
+  virtual ~DecoderTreeNode() = default;
+
+  enum KindTy {
+    CheckAny,
+    CheckAll,
+    CheckField,
+    SwitchField,
+    CheckPredicate,
+    SoftFail,
+    Decode,
+  };
+
+  KindTy getKind() const { return Kind; }
+
+protected:
+  explicit DecoderTreeNode(KindTy Kind) : Kind(Kind) {}
+
+private:
+  KindTy Kind;
+};
+
+class CheckManyNode : public DecoderTreeNode {
----------------
jurahul wrote:

This seems ok. Resolving.

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


More information about the llvm-commits mailing list