Use the instruction.def file to remain up to date with future instruction
authorChris Lattner <sabre@nondot.org>
Sun, 14 Oct 2001 17:24:50 +0000 (17:24 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Oct 2001 17:24:50 +0000 (17:24 +0000)
changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@792 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Instruction.h

index b1c340c50c749253e9713bb00f89259a1a876b90..78c87500906002340b051d36b0011a22a0ad9829 100644 (file)
@@ -94,53 +94,38 @@ public:
   // Exported enumerations...
   //
   enum TermOps {       // These terminate basic blocks
-    FirstTermOp = 1,
-    Ret = 1, Br, Switch, Invoke,
-    NumTermOps         // Must remain at end of enum
+#define  FIRST_TERM_INST(N)             FirstTermOp = N,
+#define HANDLE_TERM_INST(N, OPC, CLASS) OPC = N,
+#define   LAST_TERM_INST(N)             NumTermOps = N+1,
+#include "llvm/Instruction.def"
   };
 
   enum UnaryOps {
-    FirstUnaryOp = NumTermOps,
-    Not          = NumTermOps,      // Binary inverse
-
-    NumUnaryOps        // Must remain at end of enum
+#define  FIRST_UNARY_INST(N)             FirstUnaryOp = N,
+#define HANDLE_UNARY_INST(N, OPC, CLASS) OPC = N,
+#define   LAST_UNARY_INST(N)             NumUnaryOps = N+1,
+#include "llvm/Instruction.def"
   };
 
   enum BinaryOps {
-    // Standard binary operators...
-    FirstBinaryOp = NumUnaryOps,
-    Add = NumUnaryOps, Sub, Mul, Div, Rem,
-
-    // Logical operators...
-    And, Or, Xor,
-
-    // Binary comparison operators...
-    SetEQ, SetNE, SetLE, SetGE, SetLT, SetGT,
-
-    NumBinaryOps
+#define  FIRST_BINARY_INST(N)             FirstBinaryOp = N,
+#define HANDLE_BINARY_INST(N, OPC, CLASS) OPC = N,
+#define   LAST_BINARY_INST(N)             NumBinaryOps = N+1,
+#include "llvm/Instruction.def"
   };
 
   enum MemoryOps {
-    FirstMemoryOp = NumBinaryOps,
-    Malloc = NumBinaryOps, Free,     // Heap management instructions
-    Alloca,                          // Stack management instruction
-
-    Load, Store,                     // Memory manipulation instructions.
-    GetElementPtr,                   // Get addr of Structure or Array element
-
-    NumMemoryOps
+#define  FIRST_MEMORY_INST(N)             FirstMemoryOp = N,
+#define HANDLE_MEMORY_INST(N, OPC, CLASS) OPC = N,
+#define   LAST_MEMORY_INST(N)             NumMemoryOps = N+1,
+#include "llvm/Instruction.def"
   };
 
   enum OtherOps {
-    FirstOtherOp = NumMemoryOps,
-    PHINode      = NumMemoryOps,     // PHI node instruction
-    Cast,                            // Type cast...
-    Call,                            // Call a function
-
-    Shl, Shr,                        // Shift operations...
-
-    NumOps,                          // Must be the last 'op' defined.
-    UserOp1, UserOp2                 // May be used internally to a pass...
+#define  FIRST_OTHER_INST(N)             FirstOtherOp = N,
+#define HANDLE_OTHER_INST(N, OPC, CLASS) OPC = N,
+#define   LAST_OTHER_INST(N)             NumOtherOps = N+1,
+#include "llvm/Instruction.def"
   };
 };