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
This commit is contained in:
Chris Lattner 2010-02-17 01:03:09 +00:00
parent 9ee7123ab4
commit c96087b343
3 changed files with 11 additions and 3 deletions

View File

@ -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;

View File

@ -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<RecordMatcherNode>(N)->getWhatFor() << '\n';
return 1;
case MatcherNode::MoveChild:
OS << "OPC_MoveChild, "

View File

@ -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;