From 737d3cd719969bda7aa94d102465b71d5ea47ad9 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 10 Jan 2004 19:56:59 +0000 Subject: [PATCH] Do not bother to emit a BytecodeBlock for an empty symbol table. This commonly occurs when the symbol table for a module has been stripped, making all of the function local symbols go away. This saves 6728 bytes in the stripped bytecode file of 254.gap (which obviously has 841 functions), which isn't a ton, but helps and was easy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10750 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Bytecode/Writer/Writer.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index 0e541df72d0..308f1e9e1ef 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -236,6 +236,10 @@ void BytecodeWriter::outputFunction(const Function *F) { } void BytecodeWriter::outputSymbolTable(const SymbolTable &MST) { + // Do not output the Bytecode block for an empty symbol table, it just wastes + // space! + if (MST.begin() == MST.end()) return; + BytecodeBlock FunctionBlock(BytecodeFormat::SymbolTable, Out); for (SymbolTable::const_iterator TI = MST.begin(); TI != MST.end(); ++TI) { -- 2.34.1