mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-18 06:38:41 +00:00
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:
parent
2b49e336b6
commit
f96315e985
@ -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...
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user