start defining codes for instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36471 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-04-26 05:53:04 +00:00
parent 6cdc68200f
commit c651e4c51e

View File

@ -29,11 +29,10 @@ namespace bitc {
// Module sub-block id's
TYPE_BLOCK_ID = 1,
MODULEINFO_BLOCK_ID = 2,
CONSTANTS_BLOCK_ID = 3,
FUNCTION_BLOCK_ID = 4,
TYPE_SYMTAB_BLOCK_ID = 5,
VALUE_SYMTAB_BLOCK_ID = 6
CONSTANTS_BLOCK_ID = 2,
FUNCTION_BLOCK_ID = 3,
TYPE_SYMTAB_BLOCK_ID = 4,
VALUE_SYMTAB_BLOCK_ID = 5
};
@ -81,7 +80,6 @@ namespace bitc {
// Any other type code is assumed to be an unknown type.
};
// The type symbol table only has one code (TST_ENTRY_CODE).
enum TypeSymtabCodes {
TST_CODE_ENTRY = 1 // TST_ENTRY: [typeid, namelen, namechar x N]
@ -151,6 +149,36 @@ namespace bitc {
BINOP_XOR = 12
};
// The function body block (FUNCTION_BLOCK_ID) describes function bodies. It
// can contain a constant block (CONSTANTS_BLOCK_ID).
enum FunctionCodes {
FUNC_CODE_DECLAREBLOCKS = 1, // DECLAREBLOCKS: [n]
FUNC_CODE_INST_BINOP = 2, // BINOP: [opcode, ty, opval, opval]
FUNC_CODE_INST_CAST = 3, // CAST: [opcode, ty, opty, opval]
FUNC_CODE_INST_GEP = 4, // GEP: [n, n x operands]
FUNC_CODE_INST_SELECT = 5, // SELECT: [ty, opval, opval, opval]
FUNC_CODE_INST_EXTRACTELT = 6, // EXTRACTELT: [opty, opval, opval]
FUNC_CODE_INST_INSERTELT = 7, // INSERTELT: [ty, opval, opval, opval]
FUNC_CODE_INST_SHUFFLEVEC = 8, // SHUFFLEVEC: [ty, opval, opval, opval]
FUNC_CODE_INST_CMP = 9, // CMP: [opty, opval, opval, pred]
FUNC_CODE_INST_RET = 10, // RET: [opval<optional>]
FUNC_CODE_INST_BR = 11, // BR: [opval, bb#, bb#] or [bb#]
FUNC_CODE_INST_SWITCH = 12, // SWITCH: [opty, opval, n, n x ops]
FUNC_CODE_INST_INVOKE = 13, // INVOKE:
FUNC_CODE_INST_UNWIND = 14, // UNWIND
FUNC_CODE_INST_UNREACHABLE = 15, // UNREACHABLE
FUNC_CODE_INST_MALLOC = 16, // MALLOC: ..
FUNC_CODE_INST_FREE = 17, // FREE: ..
FUNC_CODE_INST_ALLOCA = 18, // ALLOCA: ..
FUNC_CODE_INST_LOAD = 19, // LOAD: ..
FUNC_CODE_INST_STORE = 20, // STORE: ..
FUNC_CODE_INST_CALL = 21, // CALL: ..
FUNC_CODE_INST_VAARG = 22 // VAARG: ..
};
} // End bitc namespace
} // End llvm namespace