[llvm] [TableGen] Simplify printing of simple InfoByHwModes (PR #181714)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 16 10:13:19 PST 2026
https://github.com/jayfoad created https://github.com/llvm/llvm-project/pull/181714
For the -register-info-debug output, don't bother printing a brace
enclosed list for simple InfoByHwModes, where every entry is the
default.
>From c89b8a49754beb8eb4ba7c654f569313b632c99f Mon Sep 17 00:00:00 2001
From: Jay Foad <jay.foad at amd.com>
Date: Mon, 16 Feb 2026 18:09:09 +0000
Subject: [PATCH] [TableGen] Simplify printing of simple InfoByHwModes
For the -register-info-debug output, don't bother printing a brace
enclosed list for simple InfoByHwModes, where every entry is the
default.
---
llvm/test/TableGen/ConcatenatedSubregs.td | 12 ++++++------
llvm/utils/TableGen/RegisterInfoEmitter.cpp | 5 +++++
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/llvm/test/TableGen/ConcatenatedSubregs.td b/llvm/test/TableGen/ConcatenatedSubregs.td
index 8b0bd2a691cc8..d10c11ec42fbc 100644
--- a/llvm/test/TableGen/ConcatenatedSubregs.td
+++ b/llvm/test/TableGen/ConcatenatedSubregs.td
@@ -90,19 +90,19 @@ def TestTarget : Target;
// CHECK-LABEL: RegisterClass DRegs:
// CHECK-LABEL: SubRegIndex ssub1:
-// CHECK: Offset: { Default:16 }
-// CHECK: Size: { Default:16 }
+// CHECK: Offset: 16
+// CHECK: Size: 16
// CHECK-LABEL: SubRegIndex sub0:
// CHECK-LABEL: SubRegIndex sub1:
// CHECK-LABEL: SubRegIndex sub2:
// Check inferred indexes:
// CHECK-LABEL: SubRegIndex ssub1_ssub2:
-// CHECK: Offset: { Default:16 }
-// CHECK: Size: { Default:65535 }
+// CHECK: Offset: 16
+// CHECK: Size: 65535
// CHECK-LABEL: SubRegIndex ssub3_ssub4:
// CHECK-LABEL: SubRegIndex ssub0_ssub1_ssub2_ssub3:
-// CHECK: Offset: { Default:65535 }
-// CHECK: Size: { Default:65535 }
+// CHECK: Offset: 65535
+// CHECK: Size: 65535
// CHECK-LABEL: SubRegIndex ssub1_ssub2_ssub3_ssub4:
// Check that all subregs are generated on some examples
diff --git a/llvm/utils/TableGen/RegisterInfoEmitter.cpp b/llvm/utils/TableGen/RegisterInfoEmitter.cpp
index 04b9e6112925c..946ccc39c07fb 100644
--- a/llvm/utils/TableGen/RegisterInfoEmitter.cpp
+++ b/llvm/utils/TableGen/RegisterInfoEmitter.cpp
@@ -1885,6 +1885,11 @@ template <typename InfoTy, typename FnTy>
Printable RegisterInfoEmitter::printByHwMode(const InfoByHwMode<InfoTy> &Info,
FnTy Func) {
return Printable([&](raw_ostream &OS) {
+ if (Info.isSimple()) {
+ OS << Func(Info.getSimple());
+ return;
+ }
+
const CodeGenHwModes &CGH = Target.getHwModes();
OS << "{";
More information about the llvm-commits
mailing list