Use the instruction.def file to remain up to date with future instruction

changes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@792 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2001-10-14 17:24:50 +00:00
parent 2b49e336b6
commit f96315e985

View File

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