From c651e4c51e11feb58e6c12fee8a8f85631269f2f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 26 Apr 2007 05:53:04 +0000 Subject: [PATCH] start defining codes for instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36471 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Bitcode/LLVMBitCodes.h | 40 ++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/include/llvm/Bitcode/LLVMBitCodes.h b/include/llvm/Bitcode/LLVMBitCodes.h index 654b701faef..9f790f45b6a 100644 --- a/include/llvm/Bitcode/LLVMBitCodes.h +++ b/include/llvm/Bitcode/LLVMBitCodes.h @@ -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] + 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 -- 2.34.1