From: Chris Lattner Date: Wed, 17 Feb 2010 01:27:29 +0000 (+0000) Subject: prefix captured value names with $ so they look like X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c642b84fb866c3a6f1e61d39d6eda89563267b53;p=oota-llvm.git prefix captured value names with $ so they look like variables. Use the fancy OpNo variable instead of i, which has the right index including chains. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96436 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/TableGen/DAGISelMatcher.h b/utils/TableGen/DAGISelMatcher.h index e20a00ee313..53cf923e703 100644 --- a/utils/TableGen/DAGISelMatcher.h +++ b/utils/TableGen/DAGISelMatcher.h @@ -131,10 +131,10 @@ class RecordMatcherNode : public MatcherNodeWithChild { /// should only be used for comment generation not anything semantic. std::string WhatFor; public: - RecordMatcherNode(StringRef whatfor) + RecordMatcherNode(const std::string &whatfor) : MatcherNodeWithChild(Record), WhatFor(whatfor) {} - StringRef getWhatFor() const { return WhatFor; } + const std::string &getWhatFor() const { return WhatFor; } static inline bool classof(const MatcherNode *N) { return N->getKind() == Record; diff --git a/utils/TableGen/DAGISelMatcherGen.cpp b/utils/TableGen/DAGISelMatcherGen.cpp index 5591cfb2a88..345b964c2d1 100644 --- a/utils/TableGen/DAGISelMatcherGen.cpp +++ b/utils/TableGen/DAGISelMatcherGen.cpp @@ -249,7 +249,7 @@ void MatcherGen::EmitOperatorMatchCode(const TreePatternNode *N, for (unsigned i = 0, e = N->getNumChildren(); i != e; ++i, ++OpNo) { // Get the code suitable for matching this child. Move to the child, check // it then move back to the parent. - AddMatcherNode(new MoveChildMatcherNode(i)); + AddMatcherNode(new MoveChildMatcherNode(OpNo)); EmitMatchCode(N->getChild(i), NodeNoTypes->getChild(i)); AddMatcherNode(new MoveParentMatcherNode()); } @@ -267,7 +267,6 @@ void MatcherGen::EmitMatchCode(const TreePatternNode *N, InferPossibleTypes(); } - // If this node has a name associated with it, capture it in VariableMap. If // we already saw this in the pattern, emit code to verify dagness. if (!N->getName().empty()) { @@ -288,7 +287,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(N->getName())); + AddMatcherNode(new RecordMatcherNode("$" + N->getName())); NumRecorded = 1; } NextRecordedOperandNo += NumRecorded;