From 98cae0e8835a1eb8fcb0e43870c04ed934cc51ac Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Thu, 13 Aug 2026 19:38:37 +0800 Subject: [CodeGen] Match LLVM branch relaxation semantics --- backend/lib/TableGen/Parser.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'backend/lib/TableGen/Parser.cpp') diff --git a/backend/lib/TableGen/Parser.cpp b/backend/lib/TableGen/Parser.cpp index a14385c..66d10e0 100644 --- a/backend/lib/TableGen/Parser.cpp +++ b/backend/lib/TableGen/Parser.cpp @@ -1027,8 +1027,8 @@ private: {"id", "symbol", "name", "assembly_mnemonic", "encoding", "operands", "num_explicit_defs", "variadic", "implicit_defs", "implicit_uses", "allow_extra_implicit_operands", "flags", "scheduling_class", - "encoding_category", "assembly_format", "requires_memory_operands", "owner", - "deadline"}, + "encoding_category", "size", "assembly_format", "requires_memory_operands", + "owner", "deadline"}, "instruction")) { return false; } @@ -1080,6 +1080,12 @@ private: return false; Instruction.EncodingCategorySymbol = *Value; } + if (const yaml::Node *Size = optionalNode(*Element, "size")) { + const auto Value = unsignedInteger32(*Size, "instruction size"); + if (!Value) + return false; + Instruction.SizeInBytes = *Value; + } if (const yaml::Node *AssemblyFormat = optionalNode(*Element, "assembly_format")) { const auto Value = scalar(*AssemblyFormat, "instruction assembly_format"); if (!Value) -- cgit v1.2.3