From 23cfda719e059ce7d761b08fbfb89e676d6c9737 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 24 Feb 2010 20:15:25 +0000 Subject: contract movechild+checktype into a new checkchild node, shrinking the x86 table by 1200 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97053 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/DAGISelMatcherEmitter.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'utils/TableGen/DAGISelMatcherEmitter.cpp') diff --git a/utils/TableGen/DAGISelMatcherEmitter.cpp b/utils/TableGen/DAGISelMatcherEmitter.cpp index 0efab15..4c5686f 100644 --- a/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -222,7 +222,12 @@ EmitMatcher(const MatcherNode *N, unsigned Indent, formatted_raw_ostream &OS) { OS << "OPC_CheckType, " << getEnumName(cast(N)->getType()) << ",\n"; return 2; - + case MatcherNode::CheckChildType: + OS << "OPC_CheckChild" + << cast(N)->getChildNo() << "Type, " + << getEnumName(cast(N)->getType()) << ",\n"; + return 2; + case MatcherNode::CheckInteger: { int64_t Val = cast(N)->getValue(); OS << "OPC_CheckInteger" << ClassifyInt(Val) << ", "; @@ -523,6 +528,7 @@ void MatcherTableEmitter::EmitHistogram(formatted_raw_ostream &OS) { case MatcherNode::CheckOpcode: OS << "OPC_CheckOpcode"; break; case MatcherNode::CheckMultiOpcode: OS << "OPC_CheckMultiOpcode"; break; case MatcherNode::CheckType: OS << "OPC_CheckType"; break; + case MatcherNode::CheckChildType: OS << "OPC_CheckChildType"; break; case MatcherNode::CheckInteger: OS << "OPC_CheckInteger"; break; case MatcherNode::CheckCondCode: OS << "OPC_CheckCondCode"; break; case MatcherNode::CheckValueType: OS << "OPC_CheckValueType"; break; -- cgit v1.1