simplify the way operand flags and constraints are handled, making it easier
to extend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31481 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h
index 26423d0..aaef041 100644
--- a/utils/TableGen/CodeGenInstruction.h
+++ b/utils/TableGen/CodeGenInstruction.h
@@ -60,6 +60,9 @@
       /// MIOperandInfo - Default MI operand type. Note an operand may be made
       /// up of multiple MI operands.
       DagInit *MIOperandInfo;
+      
+      /// Constraint info for this operand.
+      std::string Constraint;
 
       OperandInfo(Record *R, const std::string &N, const std::string &PMN, 
                   unsigned MION, unsigned MINO, DagInit *MIOI)
@@ -71,14 +74,6 @@
     /// type (which is a record).
     std::vector<OperandInfo> OperandList;
 
-    /// ConstraintStr - The operand constraints string.
-    ///
-    std::string ConstraintStr;
-
-    /// ConstraintsList - List of constraints, encoded into one unsigned int per
-    /// operand.
-    std::vector<unsigned> ConstraintsList;
-
     // Various boolean values we track for the instruction.
     bool isReturn;
     bool isBranch;