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
This commit is contained in:
Chris Lattner
2010-02-28 02:31:26 +00:00
parent 6ac33b4533
commit e86097af55
5 changed files with 79 additions and 23 deletions
+9
View 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());
}