enhance the EmitNode/MorphNodeTo operands to take a bit that
[oota-llvm.git] / utils / TableGen / DAGISelMatcherOpt.cpp
index 65a01fa6b9aaa43149bce52f49e3f5e7a6872e93..01723d3ec84e2b9fa0829162e59fe895d1a5f0b2 100644 (file)
@@ -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));