summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-24 20:15:25 +0000
committerChris Lattner <sabre@nondot.org>2010-02-24 20:15:25 +0000
commit0c95baa84872c7f128d883bd3662f3eeeede9707 (patch)
tree524c714493744bfebf79d7e38e115aaad8333bfa /llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
parent86ba44a4c723211642cb5292392fe7f773df944e (diff)
downloadbcm5719-llvm-0c95baa84872c7f128d883bd3662f3eeeede9707.tar.gz
bcm5719-llvm-0c95baa84872c7f128d883bd3662f3eeeede9707.zip
contract movechild+checktype into a new checkchild node, shrinking the
x86 table by 1200 bytes. llvm-svn: 97053
Diffstat (limited to 'llvm/utils/TableGen/DAGISelMatcherEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/DAGISelMatcherEmitter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
index 0efab15a759..4c5686fe224 100644
--- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
+++ b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
@@ -222,7 +222,12 @@ EmitMatcher(const MatcherNode *N, unsigned Indent, formatted_raw_ostream &OS) {
OS << "OPC_CheckType, "
<< getEnumName(cast<CheckTypeMatcherNode>(N)->getType()) << ",\n";
return 2;
-
+ case MatcherNode::CheckChildType:
+ OS << "OPC_CheckChild"
+ << cast<CheckChildTypeMatcherNode>(N)->getChildNo() << "Type, "
+ << getEnumName(cast<CheckChildTypeMatcherNode>(N)->getType()) << ",\n";
+ return 2;
+
case MatcherNode::CheckInteger: {
int64_t Val = cast<CheckIntegerMatcherNode>(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;
OpenPOWER on IntegriCloud