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 | 7c6c5392960e3ffd87a0e9e2c60fe052deaeccfc (patch) | |
| tree | f8299e30166a1bc23ef8443d7f91ea3b8954ae04 /llvm/lib/Bytecode/Reader/ReaderInternals.h | |
| parent | 0079e7dd6dbb0958595c482772169fd1bc05f6e3 (diff) | |
| download | bcm5719-llvm-7c6c5392960e3ffd87a0e9e2c60fe052deaeccfc.tar.gz bcm5719-llvm-7c6c5392960e3ffd87a0e9e2c60fe052deaeccfc.zip | |
* 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
llvm-svn: 9220
Diffstat (limited to 'llvm/lib/Bytecode/Reader/ReaderInternals.h')
| -rw-r--r-- | llvm/lib/Bytecode/Reader/ReaderInternals.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Bytecode/Reader/ReaderInternals.h b/llvm/lib/Bytecode/Reader/ReaderInternals.h index 7f921d7913d..c8b3b3abdd0 100644 --- a/llvm/lib/Bytecode/Reader/ReaderInternals.h +++ b/llvm/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); |

