Fix a README item: have functionattrs look through selects and
[oota-llvm.git] / utils / TableGen / CodeGenInstruction.h
index 5c435524f43393cbb51c4c7421e8731ee8bb24f5..d22ac3e13fedd934ecfd4d20125cb570816893f5 100644 (file)
@@ -26,17 +26,12 @@ namespace llvm {
   class CodeGenInstruction {
   public:
     Record *TheDef;            // The actual record defining this instruction.
-    std::string Name;          // Contents of the 'Name' field.
     std::string Namespace;     // The namespace the instruction is in.
 
     /// AsmString - The format string used to emit a .s file for the
     /// instruction.
     std::string AsmString;
     
-    /// getName - Return the contents of the instruction Name field if set,
-    /// otherwise return the name of the def.
-    std::string getName() const;
-    
     /// OperandInfo - The information we keep track of for each operand in the
     /// operand list for a tablegen instruction.
     struct OperandInfo {
@@ -94,22 +89,25 @@ namespace llvm {
     bool isIndirectBranch;
     bool isBarrier;
     bool isCall;
-    bool isSimpleLoad;
-    bool mayStore;
-    bool isImplicitDef;
+    bool canFoldAsLoad;
+    bool mayLoad, mayStore;
     bool isPredicable;
     bool isConvertibleToThreeAddress;
     bool isCommutable;
     bool isTerminator;
     bool isReMaterializable;
     bool hasDelaySlot;
-    bool usesCustomDAGSchedInserter;
-    bool hasVariableNumberOfOperands;
+    bool usesCustomInserter;
+    bool isVariadic;
     bool hasCtrlDep;
     bool isNotDuplicable;
     bool hasOptionalDef;
+    bool hasSideEffects;
     bool mayHaveSideEffects;
     bool neverHasSideEffects;
+    bool isAsCheapAsAMove;
+    bool hasExtraSrcRegAllocReq;
+    bool hasExtraDefRegAllocReq;
     
     /// ParseOperandName - Parse an operand name like "$foo" or "$foo.bar",
     /// where $foo is a whole operand and $foo.bar refers to a suboperand.