From c96087b3433582f1c2bdb4f0ad3dad7f0b350339 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 17 Feb 2010 01:03:09 +0000 Subject: [PATCH] improve comments on OPC_Record to say what we're recording a node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96433 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/DAGISelMatcher.h | 8 +++++++- utils/TableGen/DAGISelMatcherEmitter.cpp | 4 +++- utils/TableGen/DAGISelMatcherGen.cpp | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/utils/TableGen/DAGISelMatcher.h b/utils/TableGen/DAGISelMatcher.h index b5dabafa524..e20a00ee313 100644 --- a/utils/TableGen/DAGISelMatcher.h +++ b/utils/TableGen/DAGISelMatcher.h @@ -127,8 +127,14 @@ public: /// RecordMatcherNode - Save the current node in the operand list. class RecordMatcherNode : public MatcherNodeWithChild { + /// WhatFor - This is a string indicating why we're recording this. This + /// should only be used for comment generation not anything semantic. + std::string WhatFor; public: - RecordMatcherNode() : MatcherNodeWithChild(Record) {} + RecordMatcherNode(StringRef whatfor) + : MatcherNodeWithChild(Record), WhatFor(whatfor) {} + + StringRef getWhatFor() const { return WhatFor; } static inline bool classof(const MatcherNode *N) { return N->getKind() == Record; diff --git a/utils/TableGen/DAGISelMatcherEmitter.cpp b/utils/TableGen/DAGISelMatcherEmitter.cpp index af75d7d71ec..9b37254cbdd 100644 --- a/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -126,7 +126,9 @@ EmitMatcher(const MatcherNode *N, unsigned Indent) { OS.PadToColumn(Indent*2) << "OPC_Emit, /*XXX*/\n\n"; return 1; case MatcherNode::Record: - OS << "OPC_Record,\n"; + OS << "OPC_Record,"; + OS.PadToColumn(CommentIndent) << "// " + << cast(N)->getWhatFor() << '\n'; return 1; case MatcherNode::MoveChild: OS << "OPC_MoveChild, " diff --git a/utils/TableGen/DAGISelMatcherGen.cpp b/utils/TableGen/DAGISelMatcherGen.cpp index c44be1cad02..5591cfb2a88 100644 --- a/utils/TableGen/DAGISelMatcherGen.cpp +++ b/utils/TableGen/DAGISelMatcherGen.cpp @@ -288,7 +288,7 @@ void MatcherGen::EmitMatchCode(const TreePatternNode *N, NumRecorded += 2; // Input and output chains. } else { // If it is a normal named node, we must emit a 'Record' opcode. - AddMatcherNode(new RecordMatcherNode()); + AddMatcherNode(new RecordMatcherNode(N->getName())); NumRecorded = 1; } NextRecordedOperandNo += NumRecorded; -- 2.34.1