mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
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
This commit is contained in:
parent
e74c3bae3a
commit
c642b84fb8
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user