aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Bytecode/Format.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-06-06 20:29:01 +0000
committerChris Lattner <sabre@nondot.org>2001-06-06 20:29:01 +0000
commit009505452b713ed2e3a8e99c5545a6e721c65495 (patch)
tree136a71c5b87bdf534d1f20a67558b49226b5a4d6 /include/llvm/Bytecode/Format.h
parent8d0afd3d32d1d67f9aa5df250a1d6955aa8f1ac9 (diff)
Initial revision
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bytecode/Format.h')
-rw-r--r--include/llvm/Bytecode/Format.h33
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