diff options
author | Chris Lattner <sabre@nondot.org> | 2003-10-18 05:54:18 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-10-18 05:54:18 +0000 |
commit | cb7e2e2e0fa74ca8fb52201911082dab77f96c66 (patch) | |
tree | 5e48e96436e7782870b939dfd479dd107cb3e39e /lib/Bytecode/Reader/ReaderInternals.h | |
parent | 99e7ab72c8909469141358552ece13d701d17274 (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.h | 11 |
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); |