add codes for constants table
authorChris Lattner <sabre@nondot.org>
Mon, 23 Apr 2007 23:29:59 +0000 (23:29 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 23 Apr 2007 23:29:59 +0000 (23:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36382 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Bitcode/LLVMBitCodes.h

index bf59893153e364bb0bd088c987116c489bdc363c..939aa3d8ea3d2b4cee81f99e5077ff14a2ef32e4 100644 (file)
@@ -30,7 +30,7 @@ namespace bitc {
     // Module sub-block id's
     TYPE_BLOCK_ID            = 1,
     MODULEINFO_BLOCK_ID      = 2,
-    GLOBALCONSTANTS_BLOCK_ID = 3,
+    CONSTANTS_BLOCK_ID       = 3,
     FUNCTION_BLOCK_ID        = 4,
     TYPE_SYMTAB_BLOCK_ID     = 5,
     VALUE_SYMTAB_BLOCK_ID    = 6
@@ -78,12 +78,26 @@ namespace bitc {
   
   // The type symbol table only has one code (TST_ENTRY_CODE).
   enum TypeSymtabCodes {
-    TST_ENTRY_CODE = 1     // TST_ENTRY: [typeid, namelen, namechar x N]
+    TST_CODE_ENTRY = 1     // TST_ENTRY: [typeid, namelen, namechar x N]
   };
   
   // The value symbol table only has one code (VST_ENTRY_CODE).
   enum ValueSymtabCodes {
-    VST_ENTRY_CODE = 1     // VST_ENTRY: [valid, namelen, namechar x N]
+    VST_CODE_ENTRY = 1     // VST_ENTRY: [valid, namelen, namechar x N]
+  };
+  
+  // The constants block (CONSTANTS_BLOCK_ID) describes emission for each
+  // constant and maintains an implicit current type value.
+  enum ConstantsSymtabCodes {
+    CST_CODE_SETTYPE      = 1,  // SETTYPE: [typeid]
+    CST_CODE_NULL         = 2,  // NULL
+    CST_CODE_UNDEF        = 3,  // UNDEF
+    CST_CODE_INTEGER      = 4,  // INTEGER: [intval]
+    CST_CODE_WIDE_INTEGER = 5,  // WIDE_INTEGER: [n, n x intval]
+    CST_CODE_FLOAT        = 6,  // FLOAT: [fpval]
+    CST_CODE_AGGREGATE    = 7,  // AGGREGATE: [n, n x value number]
+    CST_CODE_CONSTEXPR    = 8   // CONSTEXPR: [opcode, n, n x val#]
+    // TODO: CE_BINOP ETC
   };
   
 } // End bitc namespace