diff options
Diffstat (limited to 'include/llvm/Bytecode/Format.h')
-rw-r--r-- | include/llvm/Bytecode/Format.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/llvm/Bytecode/Format.h b/include/llvm/Bytecode/Format.h new file mode 100644 index 0000000000..a87f8d18a6 --- /dev/null +++ b/include/llvm/Bytecode/Format.h @@ -0,0 +1,33 @@ +//===-- llvm/Bytecode/Format.h - VM bytecode file format info ----*- C++ -*--=// +// +// This header defines intrinsic constants that are useful to libraries that +// need to hack on bytecode files directly, like the reader and writer. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_BYTECODE_FORMAT_H +#define LLVM_BYTECODE_FORMAT_H + +class BytecodeFormat { // Throw the constants into a poorman's namespace... + BytecodeFormat(); // do not implement +public: + + // ID Numbers that are used in bytecode files... + enum FileBlockIDs { + // File level identifiers... + Module = 0x01, + + // Module subtypes: + Method = 0x11, + ConstantPool, + SymbolTable, + ModuleGlobalInfo, + + // Method subtypes: + MethodInfo = 0x21, + // Can also have ConstantPool block + // Can also have SymbolTable block + BasicBlock = 0x31, // May contain many basic blocks + }; +}; +#endif |