If a function is external, do not output a FunctionBlock for the function
authorChris Lattner <sabre@nondot.org>
Mon, 15 Nov 2004 21:46:40 +0000 (21:46 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 15 Nov 2004 21:46:40 +0000 (21:46 +0000)
AT ALL.  This saves 11 bytes per external function from the bytecode file,
and is also required to make GhostLinkage work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17854 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bytecode/Writer/Writer.cpp

index 7d578f966e10ebac896ba9d20d7d597057118694..2550d107c3e9ef423f16532b9b7fbc87256a070d 100644 (file)
@@ -942,12 +942,12 @@ void BytecodeWriter::outputInstructions(const Function *F) {
 }
 
 void BytecodeWriter::outputFunction(const Function *F) {
-  BytecodeBlock FunctionBlock(BytecodeFormat::FunctionBlockID, *this);
-  output_vbr(getEncodedLinkage(F));
-
   // If this is an external function, there is nothing else to emit!
   if (F->isExternal()) return;
 
+  BytecodeBlock FunctionBlock(BytecodeFormat::FunctionBlockID, *this);
+  output_vbr(getEncodedLinkage(F));
+
   // Get slot information about the function...
   Table.incorporateFunction(F);