From c732f5a4ae13a75b5dfa8f640a50f94db2d3092c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 27 Apr 2009 18:24:17 +0000 Subject: encode the type and decl offsets with 32-bits for entry instead of 64 bits. This cuts 400KB off the PCH file for cocoa (7.1 -> 6.7MB): Before: Record Histogram: Count # Bits % Abv Record Kind 1 14296 SOURCE_LOCATION_PRELOADS 1 1699598 100.00 SOURCE_LOCATION_OFFSETS 1 1870766 100.00 METHOD_POOL 1 212988 100.00 SELECTOR_OFFSETS 1 88 STATISTICS 1 106 SPECIAL_TYPES 1 18033788 100.00 IDENTIFIER_TABLE 1 1806428 100.00 IDENTIFIER_OFFSET 1 170 100.00 TARGET_TRIPLE 1 268 LANGUAGE_OPTIONS 1 5168252 100.00 DECL_OFFSET 1 952700 100.00 TYPE_OFFSET After: Record Histogram: Count # Bits % Abv Record Kind 1 14296 SOURCE_LOCATION_PRELOADS 1 1699598 100.00 SOURCE_LOCATION_OFFSETS 1 1870766 100.00 METHOD_POOL 1 212988 100.00 SELECTOR_OFFSETS 1 88 STATISTICS 1 106 SPECIAL_TYPES 1 18033788 100.00 IDENTIFIER_TABLE 1 1806428 100.00 IDENTIFIER_OFFSET 1 170 100.00 TARGET_TRIPLE 1 268 LANGUAGE_OPTIONS 1 2584156 100.00 DECL_OFFSET 1 476380 100.00 TYPE_OFFSET git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70216 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Frontend/PCHReader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/Frontend/PCHReader.cpp') diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp index bace23ccc6..f26cd84f8d 100644 --- a/lib/Frontend/PCHReader.cpp +++ b/lib/Frontend/PCHReader.cpp @@ -793,7 +793,7 @@ PCHReader::ReadPCHBlock() { Error("Duplicate TYPE_OFFSET record in PCH file"); return Failure; } - TypeOffsets = (const uint64_t *)BlobStart; + TypeOffsets = (const uint32_t *)BlobStart; TypesLoaded.resize(Record[0]); break; @@ -802,7 +802,7 @@ PCHReader::ReadPCHBlock() { Error("Duplicate DECL_OFFSET record in PCH file"); return Failure; } - DeclOffsets = (const uint64_t *)BlobStart; + DeclOffsets = (const uint32_t *)BlobStart; DeclsLoaded.resize(Record[0]); break; -- cgit v1.2.3-18-g5258