summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-17 01:03:09 +0000
committerChris Lattner <sabre@nondot.org>2010-02-17 01:03:09 +0000
commitf773f037364e6c005fadab626d4eaedebb6cb6a6 (patch)
tree42c6f76c0fe8d918c8f3f819b1e0b2b1f97b5535 /llvm/utils/TableGen
parentcf39be32bf78088c7b279428a8a4d9210e996256 (diff)
downloadbcm5719-llvm-f773f037364e6c005fadab626d4eaedebb6cb6a6.tar.gz
bcm5719-llvm-f773f037364e6c005fadab626d4eaedebb6cb6a6.zip
improve comments on OPC_Record to say what we're recording a node.
llvm-svn: 96433
Diffstat (limited to 'llvm/utils/TableGen')
-rw-r--r--llvm/utils/TableGen/DAGISelMatcher.h8
-rw-r--r--llvm/utils/TableGen/DAGISelMatcherEmitter.cpp4
-rw-r--r--llvm/utils/TableGen/DAGISelMatcherGen.cpp2
3 files changed, 11 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcher.h b/llvm/utils/TableGen/DAGISelMatcher.h
index b5dabafa524..e20a00ee313 100644
--- a/llvm/utils/TableGen/DAGISelMatcher.h
+++ b/llvm/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/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
index af75d7d71ec..9b37254cbdd 100644
--- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
+++ b/llvm/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<RecordMatcherNode>(N)->getWhatFor() << '\n';
return 1;
case MatcherNode::MoveChild:
OS << "OPC_MoveChild, "
diff --git a/llvm/utils/TableGen/DAGISelMatcherGen.cpp b/llvm/utils/TableGen/DAGISelMatcherGen.cpp
index c44be1cad02..5591cfb2a88 100644
--- a/llvm/utils/TableGen/DAGISelMatcherGen.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud