add infrastructure to support forming selectnodeto. Not used yet
[oota-llvm.git] / utils / TableGen / DAGISelMatcherOpt.cpp
index 1ce573353f2bb47e65dc3b407f2a6c74048b55ab..79534574363c44bde131817acce37c092c2aec90 100644 (file)
@@ -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());
 }