aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/DAGISelMatcherEmitter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-17 00:39:26 +0000
committerChris Lattner <sabre@nondot.org>2010-02-17 00:39:26 +0000
commit5be6e5990b1da82e31f4236d1b392e52637cbe2e (patch)
treec94d23801065fdf3398ab0177dce2b6e201bd82f /utils/TableGen/DAGISelMatcherEmitter.cpp
parent36b01cb8856545214945bfbe8c1ffe6741f895a5 (diff)
downloadexternal_llvm-5be6e5990b1da82e31f4236d1b392e52637cbe2e.zip
external_llvm-5be6e5990b1da82e31f4236d1b392e52637cbe2e.tar.gz
external_llvm-5be6e5990b1da82e31f4236d1b392e52637cbe2e.tar.bz2
improve comments in generated matcher a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96422 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelMatcherEmitter.cpp')
-rw-r--r--utils/TableGen/DAGISelMatcherEmitter.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/utils/TableGen/DAGISelMatcherEmitter.cpp b/utils/TableGen/DAGISelMatcherEmitter.cpp
index 8e004f3..af75d7d 100644
--- a/utils/TableGen/DAGISelMatcherEmitter.cpp
+++ b/utils/TableGen/DAGISelMatcherEmitter.cpp
@@ -21,7 +21,7 @@ using namespace llvm;
namespace {
enum {
- CommentIndent = 25
+ CommentIndent = 30
};
}
@@ -119,11 +119,11 @@ EmitMatcher(const MatcherNode *N, unsigned Indent) {
switch (N->getKind()) {
case MatcherNode::Push: assert(0 && "Should be handled by caller");
case MatcherNode::EmitNode:
- OS << "OPC_Emit, /*XXX*/";
- OS.PadToColumn(CommentIndent) << "// Src: "
- << *cast<EmitNodeMatcherNode>(N)->getPattern().getSrcPattern() << '\n';
- OS.PadToColumn(CommentIndent) << "// Dst: "
- << *cast<EmitNodeMatcherNode>(N)->getPattern().getDstPattern() << '\n';
+ OS << "// Src: "
+ << *cast<EmitNodeMatcherNode>(N)->getPattern().getSrcPattern() << '\n';
+ OS.PadToColumn(Indent*2) << "// Dst: "
+ << *cast<EmitNodeMatcherNode>(N)->getPattern().getDstPattern() << "\n";
+ OS.PadToColumn(Indent*2) << "OPC_Emit, /*XXX*/\n\n";
return 1;
case MatcherNode::Record:
OS << "OPC_Record,\n";
@@ -180,11 +180,13 @@ EmitMatcher(const MatcherNode *N, unsigned Indent) {
<< cast<CheckValueTypeMatcherNode>(N)->getTypeName() << ",\n";
return 2;
- case MatcherNode::CheckComplexPat:
- OS << "OPC_CheckComplexPat, "
- << getComplexPat(cast<CheckComplexPatMatcherNode>(N)->getPattern())
- << ",\n";
+ case MatcherNode::CheckComplexPat: {
+ const ComplexPattern &Pattern =
+ cast<CheckComplexPatMatcherNode>(N)->getPattern();
+ OS << "OPC_CheckComplexPat, " << getComplexPat(Pattern) << ',';
+ OS.PadToColumn(CommentIndent) << "// " << Pattern.getSelectFunc() << '\n';
return 2;
+ }
case MatcherNode::CheckAndImm: {
int64_t Val = cast<CheckAndImmMatcherNode>(N)->getValue();
@@ -271,7 +273,6 @@ void MatcherTableEmitter::EmitPredicateFunctions() {
OS << "}\n\n";
// Emit CompletePattern matchers.
-
OS << "bool CheckComplexPattern(SDNode *Root, SDValue N,\n";
OS << " unsigned PatternNo, SmallVectorImpl<SDValue> &Result) {\n";
OS << " switch (PatternNo) {\n";
@@ -290,7 +291,6 @@ void MatcherTableEmitter::EmitPredicateFunctions() {
}
OS << " }\n";
OS << "}\n\n";
-
}