diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-28 02:31:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-28 02:31:26 +0000 |
commit | e86097af5598e44727875f00e492d43c978239be (patch) | |
tree | 079307e8dd552052a12f9d35a526cda038c772c4 /utils/TableGen/DAGISelMatcherOpt.cpp | |
parent | 6ac33b4533889f132ba10c812ae574d779c827b9 (diff) | |
download | external_llvm-e86097af5598e44727875f00e492d43c978239be.zip external_llvm-e86097af5598e44727875f00e492d43c978239be.tar.gz external_llvm-e86097af5598e44727875f00e492d43c978239be.tar.bz2 |
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.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/utils/TableGen/DAGISelMatcherOpt.cpp b/utils/TableGen/DAGISelMatcherOpt.cpp index 1ce5733..7953457 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()); } |