From 92ffefe3510e0cbf5b9ded0f2e2caff4e6803f17 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 17 Nov 2024 19:11:28 -0800 Subject: [Tablegen] Add more comments for result numbers to DAGISelEmitter.cpp (#116533) Print what result number the Emit* nodes are storing their results in. This makes it easy to track the inputs of later opcodes that consume these results. --- llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 35 ++++++++++++++++++--------- 1 file changed, 24 insertions(+), 11 deletions(-) (limited to 'llvm/utils/TableGen/DAGISelMatcherEmitter.cpp') diff --git a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp index 06eb1f709c56..74c399ee4231 100644 --- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -798,6 +798,8 @@ unsigned MatcherTableEmitter::EmitMatcher(const Matcher *N, break; } unsigned Bytes = OpBytes + EmitSignedVBRValue(Val, OS); + if (!OmitComments) + OS << " // " << Val << " #" << cast(N)->getResultNo(); OS << '\n'; return Bytes; } @@ -818,7 +820,10 @@ unsigned MatcherTableEmitter::EmitMatcher(const Matcher *N, OpBytes = EmitVBRValue(VT, OS) + 1; break; } - OS << Val << ",\n"; + OS << Val << ','; + if (!OmitComments) + OS << " // #" << cast(N)->getResultNo(); + OS << '\n'; return OpBytes + 1; } @@ -851,24 +856,31 @@ unsigned MatcherTableEmitter::EmitMatcher(const Matcher *N, break; } if (Reg) { - OS << getQualifiedName(Reg->TheDef) << ",\n"; + OS << getQualifiedName(Reg->TheDef); } else { OS << "0 "; if (!OmitComments) OS << "/*zero_reg*/"; - OS << ",\n"; } + + OS << ','; + if (!OmitComments) + OS << " // #" << Matcher->getResultNo(); + OS << '\n'; return OpBytes + 1; } case Matcher::EmitConvertToTarget: { - unsigned Slot = cast(N)->getSlot(); - if (Slot < 8) { - OS << "OPC_EmitConvertToTarget" << Slot << ",\n"; - return 1; - } - OS << "OPC_EmitConvertToTarget, " << Slot << ",\n"; - return 2; + const auto *CTTM = cast(N); + unsigned Slot = CTTM->getSlot(); + OS << "OPC_EmitConvertToTarget"; + if (Slot >= 8) + OS << ", "; + OS << Slot << ','; + if (!OmitComments) + OS << " // #" << CTTM->getResultNo(); + OS << '\n'; + return 1 + (Slot >= 8); } case Matcher::EmitMergeInputChains: { @@ -914,7 +926,8 @@ unsigned MatcherTableEmitter::EmitMatcher(const Matcher *N, OS << "OPC_EmitNodeXForm, " << getNodeXFormID(XF->getNodeXForm()) << ", " << XF->getSlot() << ','; if (!OmitComments) - OS << " // " << XF->getNodeXForm()->getName(); + OS << " // " << XF->getNodeXForm()->getName() << " #" + << XF->getResultNo(); OS << '\n'; return 3; } -- cgit v1.2.3