diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-03-16 00:35:11 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-03-16 00:35:11 +0000 | 
| commit | f57437abb148f8c30c9010668fdb0f9729f4aa6c (patch) | |
| tree | 91a4dc5bb89ae7c08670781c6b038f23852388c4 | |
| parent | ba75e816447f4927bda39f6ab03964a02ec6fea5 (diff) | |
| download | bcm5719-llvm-f57437abb148f8c30c9010668fdb0f9729f4aa6c.tar.gz bcm5719-llvm-f57437abb148f8c30c9010668fdb0f9729f4aa6c.zip  | |
don't form a RecordChild or CheckChildType for child #'s over 7, we don't
have enums for them.
llvm-svn: 98597
| -rw-r--r-- | llvm/utils/TableGen/DAGISelMatcherOpt.cpp | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcherOpt.cpp b/llvm/utils/TableGen/DAGISelMatcherOpt.cpp index 910c4c5d697..820ab63c1fa 100644 --- a/llvm/utils/TableGen/DAGISelMatcherOpt.cpp +++ b/llvm/utils/TableGen/DAGISelMatcherOpt.cpp @@ -44,11 +44,13 @@ static void ContractNodes(OwningPtr<Matcher> &MatcherPtr,    if (MoveChildMatcher *MC = dyn_cast<MoveChildMatcher>(N)) {      Matcher *New = 0;      if (RecordMatcher *RM = dyn_cast<RecordMatcher>(MC->getNext())) -      New = new RecordChildMatcher(MC->getChildNo(), RM->getWhatFor(), -                                   RM->getResultNo()); +      if (MC->getChildNo() < 8)  // Only have RecordChild0...7 +        New = new RecordChildMatcher(MC->getChildNo(), RM->getWhatFor(), +                                     RM->getResultNo());      if (CheckTypeMatcher *CT= dyn_cast<CheckTypeMatcher>(MC->getNext())) -      New = new CheckChildTypeMatcher(MC->getChildNo(), CT->getType()); +      if (MC->getChildNo() < 8)  // Only have CheckChildType0...7 +        New = new CheckChildTypeMatcher(MC->getChildNo(), CT->getType());      if (New) {        // Insert the new node.  | 

