diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-21 06:03:07 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-21 06:03:07 +0000 |
commit | 79eaeb4cfe34cb625c8af3186efbe0e544847e3e (patch) | |
tree | 4d7be00fb7f0e92fe04e560fe481ced94be34e37 /llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | |
parent | 2fb89539f78cbb567253dbbb2fb1acb61583867c (diff) | |
download | bcm5719-llvm-79eaeb4cfe34cb625c8af3186efbe0e544847e3e.tar.gz bcm5719-llvm-79eaeb4cfe34cb625c8af3186efbe0e544847e3e.zip |
implement the last known missing feature: updating uses of results
of the matched pattern to use the newly created node results. Onto
the "making it actually work" phase!
llvm-svn: 96724
Diffstat (limited to 'llvm/utils/TableGen/DAGISelMatcherEmitter.cpp')
-rw-r--r-- | llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp index 077dd5df4dd..de17005576b 100644 --- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -305,13 +305,19 @@ EmitMatcher(const MatcherNode *N, unsigned Indent) { OS << '\n'; return 5+EN->getNumVTs()+EN->getNumOperands(); } - case MatcherNode::PatternMarker: - OS << "// Src: " - << *cast<PatternMarkerMatcherNode>(N)->getPattern().getSrcPattern() << '\n'; - OS.PadToColumn(Indent*2) << "// Dst: " - << *cast<PatternMarkerMatcherNode>(N)->getPattern().getDstPattern() << '\n'; + case MatcherNode::CompleteMatch: { + const CompleteMatchMatcherNode *CM = cast<CompleteMatchMatcherNode>(N); + OS << "OPC_CompleteMatch, " << CM->getNumResults() << ", "; + for (unsigned i = 0, e = CM->getNumResults(); i != e; ++i) + OS << CM->getResult(i) << ", "; + OS << '\n'; + OS.PadToColumn(Indent*2) << "// Src: " + << *CM->getPattern().getSrcPattern() << '\n'; + OS.PadToColumn(Indent*2) << "// Dst: " + << *CM->getPattern().getDstPattern() << '\n'; return 0; } + } assert(0 && "Unreachable"); return 0; } |