diff options
author | Chris Lattner <sabre@nondot.org> | 2003-04-16 21:16:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-04-16 21:16:05 +0000 |
commit | e3869c83e7f3abba5708110f8ac0d69e98927b96 (patch) | |
tree | 94cd5b205f3a12087412bf85cc6e9a3161f93505 /lib/Bytecode/Writer/Writer.cpp | |
parent | 56620da5b486225dfbb0db02d5cbc5c976d0dc02 (diff) |
Add support to the bytecode reader/writer for the new linkage types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5790 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Writer/Writer.cpp')
-rw-r--r-- | lib/Bytecode/Writer/Writer.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index 8f4f785c4d..03a6c4668e 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -46,8 +46,8 @@ BytecodeWriter::BytecodeWriter(std::deque<unsigned char> &o, const Module *M) bool isBigEndian = true; bool hasLongPointers = true; - // Output the version identifier... we are currently on bytecode version #1 - unsigned Version = (1 << 4) | isBigEndian | (hasLongPointers << 1); + // Output the version identifier... we are currently on bytecode version #2 + unsigned Version = (2 << 4) | isBigEndian | (hasLongPointers << 1); output_vbr(Version, Out); align32(Out); @@ -154,9 +154,9 @@ void BytecodeWriter::outputModuleInfoBlock(const Module *M) { int Slot = Table.getValSlot(I->getType()); assert(Slot != -1 && "Module global vars is broken!"); - // Fields: bit0 = isConstant, bit1 = hasInitializer, bit2=InternalLinkage, - // bit3+ = Slot # for type - unsigned oSlot = ((unsigned)Slot << 3) | (I->hasInternalLinkage() << 2) | + // Fields: bit0 = isConstant, bit1 = hasInitializer, bit2,3=Linkage, + // bit4+ = Slot # for type + unsigned oSlot = ((unsigned)Slot << 4) | ((unsigned)I->getLinkage() << 2) | (I->hasInitializer() << 1) | I->isConstant(); output_vbr(oSlot, Out); @@ -183,7 +183,7 @@ void BytecodeWriter::outputModuleInfoBlock(const Module *M) { void BytecodeWriter::outputFunction(const Function *F) { BytecodeBlock FunctionBlock(BytecodeFormat::Function, Out); - output_vbr((unsigned)F->hasInternalLinkage(), Out); + output_vbr((unsigned)F->getLinkage(), Out); // Only output the constant pool and other goodies if needed... if (!F->isExternal()) { |