diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-01 07:17:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-01 07:17:40 +0000 |
commit | fa342faef9d1c89de356ed83a6c6529ed3e87610 (patch) | |
tree | a6d5a6fed6cb48fec62183639b79d8120e4b52a3 /utils/TableGen/DAGISelMatcherOpt.cpp | |
parent | eb66921adb943ea841e72c8eee4777607c48b70e (diff) |
eliminate the CheckMultiOpcodeMatcher code and have each
ComplexPattern at the root be generated multiple times, once
for each opcode they are part of. This encourages factoring
because the opcode checks get treated just like everything
else in the matcher.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97439 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelMatcherOpt.cpp')
-rw-r--r-- | utils/TableGen/DAGISelMatcherOpt.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/utils/TableGen/DAGISelMatcherOpt.cpp b/utils/TableGen/DAGISelMatcherOpt.cpp index 41ce6ae691..0e89fa028f 100644 --- a/utils/TableGen/DAGISelMatcherOpt.cpp +++ b/utils/TableGen/DAGISelMatcherOpt.cpp @@ -153,8 +153,7 @@ static void ContractNodes(OwningPtr<Matcher> &MatcherPtr, // like X86 where many operations are valid on multiple types. if ((isa<CheckTypeMatcher>(N) || isa<CheckChildTypeMatcher>(N) || isa<RecordMatcher>(N)) && - (isa<CheckOpcodeMatcher>(N->getNext()) || - isa<CheckMultiOpcodeMatcher>(N->getNext()))) { + isa<CheckOpcodeMatcher>(N->getNext())) { // Unlink the two nodes from the list. Matcher *CheckType = MatcherPtr.take(); Matcher *CheckOpcode = CheckType->takeNext(); |