summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit7c6c5392960e3ffd87a0e9e2c60fe052deaeccfc (patch)
treef8299e30166a1bc23ef8443d7f91ea3b8954ae04 /llvm/lib/Bytecode/Reader/ReaderInternals.h
parent0079e7dd6dbb0958595c482772169fd1bc05f6e3 (diff)
downloadbcm5719-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.h11
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);
OpenPOWER on IntegriCloud