diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-28 21:53:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-28 21:53:42 +0000 |
commit | ff7fb60f2a7e2f3efd54df6480aadcb4adf5cab7 (patch) | |
tree | 7204ffaf2b65ea7b49772943f5c8386a15a718a1 /utils/TableGen/DAGISelMatcherOpt.cpp | |
parent | 21221e357c6aa9ade3966ee86dab7d44c25220d0 (diff) | |
download | external_llvm-ff7fb60f2a7e2f3efd54df6480aadcb4adf5cab7.zip external_llvm-ff7fb60f2a7e2f3efd54df6480aadcb4adf5cab7.tar.gz external_llvm-ff7fb60f2a7e2f3efd54df6480aadcb4adf5cab7.tar.bz2 |
enhance the EmitNode/MorphNodeTo operands to take a bit that
specifies whether there is an output flag or not. Use this
instead of redundantly encoding the chain/flag results in the
output vtlist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97419 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelMatcherOpt.cpp')
-rw-r--r-- | utils/TableGen/DAGISelMatcherOpt.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/utils/TableGen/DAGISelMatcherOpt.cpp b/utils/TableGen/DAGISelMatcherOpt.cpp index 65a01fa..01723d3 100644 --- a/utils/TableGen/DAGISelMatcherOpt.cpp +++ b/utils/TableGen/DAGISelMatcherOpt.cpp @@ -92,7 +92,7 @@ static void ContractNodes(OwningPtr<Matcher> &MatcherPtr, // NOTE: Strictly speaking, we don't have to check for the flag here // because the code in the pattern generator doesn't handle it right. We // do it anyway for thoroughness. - if (!EN->hasFlag() && + if (!EN->hasOutFlag() && Pattern.getSrcPattern()->NodeHasProperty(SDNPOutFlag, CGP)) ResultsMatch = false; @@ -110,9 +110,10 @@ static void ContractNodes(OwningPtr<Matcher> &MatcherPtr, const SmallVectorImpl<MVT::SimpleValueType> &VTs = EN->getVTList(); const SmallVectorImpl<unsigned> &Operands = EN->getOperandList(); MatcherPtr.reset(new MorphNodeToMatcher(EN->getOpcodeName(), - &VTs[0], VTs.size(), + VTs.data(), VTs.size(), Operands.data(),Operands.size(), - EN->hasChain(), EN->hasFlag(), + EN->hasChain(), EN->hasInFlag(), + EN->hasOutFlag(), EN->hasMemRefs(), EN->getNumFixedArityOperands(), Pattern)); |