summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/DAGISelMatcherEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/DAGISelMatcherEmitter.cpp16
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;
}
OpenPOWER on IntegriCloud