convert the new matcher to check intermediate nodes for a single
use and only call IsProfitableToFold/IsLegalToFold on the load
being folded, like the old dagiselemitter does. This
substantially simplifies the code and improves opportunities for
sharing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96368 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelMatcherEmitter.cpp b/utils/TableGen/DAGISelMatcherEmitter.cpp
index c0ad169..c414918 100644
--- a/utils/TableGen/DAGISelMatcherEmitter.cpp
+++ b/utils/TableGen/DAGISelMatcherEmitter.cpp
@@ -183,11 +183,8 @@
OS << "OPC_CheckOrImm" << ClassifyInt(Val) << ", ";
return EmitInt(Val, OS)+1;
}
- case MatcherNode::CheckProfitableToFold:
- OS << "OPC_IsProfitableToFold,\n";
- return 1;
- case MatcherNode::CheckLegalToFold:
- OS << "OPC_IsLegalToFold,\n";
+ case MatcherNode::CheckFoldableChainNode:
+ OS << "OPC_CheckFoldableChainNode,\n";
return 1;
}
assert(0 && "Unreachable");