aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Reader/ReaderInternals.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-10-18 05:54:18 +0000
committerChris Lattner <sabre@nondot.org>2003-10-18 05:54:18 +0000
commitcb7e2e2e0fa74ca8fb52201911082dab77f96c66 (patch)
tree5e48e96436e7782870b939dfd479dd107cb3e39e /lib/Bytecode/Reader/ReaderInternals.h
parent99e7ab72c8909469141358552ece13d701d17274 (diff)
* New revised variable argument handling support
* More dense bytecode encoding for varargs calls (like printf) * Eliminated the extremely old bytecode format. rev #0 is now 1.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9220 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/ReaderInternals.h')
-rw-r--r--lib/Bytecode/Reader/ReaderInternals.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Bytecode/Reader/ReaderInternals.h b/lib/Bytecode/Reader/ReaderInternals.h
index 7f921d7913..c8b3b3abdd 100644
--- a/lib/Bytecode/Reader/ReaderInternals.h
+++ b/lib/Bytecode/Reader/ReaderInternals.h
@@ -80,8 +80,12 @@ private:
// Information about the module, extracted from the bytecode revision number.
unsigned char RevisionNum; // The rev # itself
unsigned char FirstDerivedTyID; // First variable index to use for type
- bool HasImplicitZeroInitializer; // Is entry 0 of every slot implicity zeros?
bool hasInternalMarkerOnly; // Only types of linkage are intern/external
+ bool hasExtendedLinkageSpecs; // Supports more than 4 linkage types
+ bool hasOldStyleVarargs; // Has old version of varargs intrinsics?
+ bool hasVarArgCallPadding; // Bytecode has extra padding in vararg call
+
+ bool usesOldStyleVarargs; // Does this module USE old style varargs?
typedef std::vector<ValueList*> ValueTable;
ValueTable Values;
@@ -148,9 +152,8 @@ private:
const unsigned char *End,
unsigned BlockNo);
- Instruction *ParseInstruction(const unsigned char *&Buf,
- const unsigned char *End,
- std::vector<unsigned> &Args);
+ void ParseInstruction(const unsigned char *&Buf, const unsigned char *End,
+ std::vector<unsigned> &Args, BasicBlock *BB);
void ParseConstantPool(const unsigned char *&Buf, const unsigned char *EndBuf,
ValueTable &Tab, TypeValuesListTy &TypeTab);