summaryrefslogtreecommitdiff
path: root/utils/TableGen/DAGISelMatcherOpt.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-28 02:31:26 +0000
committerChris Lattner <sabre@nondot.org>2010-02-28 02:31:26 +0000
commite86097af5598e44727875f00e492d43c978239be (patch)
tree079307e8dd552052a12f9d35a526cda038c772c4 /utils/TableGen/DAGISelMatcherOpt.cpp
parent6ac33b4533889f132ba10c812ae574d779c827b9 (diff)
downloadllvm-e86097af5598e44727875f00e492d43c978239be.tar.gz
llvm-e86097af5598e44727875f00e492d43c978239be.tar.bz2
llvm-e86097af5598e44727875f00e492d43c978239be.tar.xz
add infrastructure to support forming selectnodeto. Not used yet
because I have to go on another detour first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97362 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelMatcherOpt.cpp')
-rw-r--r--utils/TableGen/DAGISelMatcherOpt.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/utils/TableGen/DAGISelMatcherOpt.cpp b/utils/TableGen/DAGISelMatcherOpt.cpp
index 1ce573353f..7953457436 100644
--- a/utils/TableGen/DAGISelMatcherOpt.cpp
+++ b/utils/TableGen/DAGISelMatcherOpt.cpp
@@ -56,6 +56,7 @@ static void ContractNodes(OwningPtr<Matcher> &MatcherPtr) {
}
}
+ // Zap movechild -> moveparent.
if (MoveChildMatcher *MC = dyn_cast<MoveChildMatcher>(N))
if (MoveParentMatcher *MP =
dyn_cast<MoveParentMatcher>(MC->getNext())) {
@@ -63,6 +64,14 @@ static void ContractNodes(OwningPtr<Matcher> &MatcherPtr) {
return ContractNodes(MatcherPtr);
}
+ // Turn EmitNode->CompleteMatch into SelectNodeTo if we can.
+ if (EmitNodeMatcher *EN = dyn_cast<EmitNodeMatcher>(N))
+ if (CompleteMatchMatcher *CM = cast<CompleteMatchMatcher>(EN->getNext())) {
+ (void)CM;
+
+
+ }
+
ContractNodes(N->getNextPtr());
}