From: Chris Lattner Date: Mon, 27 Apr 2009 19:01:47 +0000 (+0000) Subject: shrink SOURCE_LOCATION_OFFSETS to use 4-byte entries instead of 8-byte X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=090d9b53e32bb30d9e74de895bb59b409bd49e00;p=clang shrink SOURCE_LOCATION_OFFSETS to use 4-byte entries instead of 8-byte entries, shaving 100K off the PCH file for cocoa. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70228 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Frontend/PCHReader.h b/include/clang/Frontend/PCHReader.h index a955b80695..52f58f8511 100644 --- a/include/clang/Frontend/PCHReader.h +++ b/include/clang/Frontend/PCHReader.h @@ -106,7 +106,7 @@ private: /// \brief Offset type for all of the source location entries in the /// PCH file. - const uint64_t *SLocOffsets; + const uint32_t *SLocOffsets; /// \brief The number of source location entries in the PCH file. unsigned TotalNumSLocEntries; diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp index f87252a899..1b26b72c5e 100644 --- a/lib/Frontend/PCHReader.cpp +++ b/lib/Frontend/PCHReader.cpp @@ -1017,7 +1017,7 @@ PCHReader::ReadPCHBlock() { break; case pch::SOURCE_LOCATION_OFFSETS: - SLocOffsets = (const uint64_t *)BlobStart; + SLocOffsets = (const uint32_t *)BlobStart; TotalNumSLocEntries = Record[0]; PP.getSourceManager().PreallocateSLocEntries(this, TotalNumSLocEntries, diff --git a/lib/Frontend/PCHWriter.cpp b/lib/Frontend/PCHWriter.cpp index f0dd43ae8a..d8603dfb69 100644 --- a/lib/Frontend/PCHWriter.cpp +++ b/lib/Frontend/PCHWriter.cpp @@ -738,7 +738,7 @@ void PCHWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, // Write out the source location entry table. We skip the first // entry, which is always the same dummy entry. - std::vector SLocEntryOffsets; + std::vector SLocEntryOffsets; RecordData PreloadSLocs; SLocEntryOffsets.reserve(SourceMgr.sloc_entry_size() - 1); for (SourceManager::sloc_entry_iterator @@ -836,7 +836,7 @@ void PCHWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, Record.push_back(SourceMgr.getNextOffset()); Stream.EmitRecordWithBlob(SLocOffsetsAbbrev, Record, (const char *)&SLocEntryOffsets.front(), - SLocEntryOffsets.size() * 8); + SLocEntryOffsets.size()*sizeof(SLocEntryOffsets[0])); // Write the source location entry preloads array, telling the PCH // reader which source locations entries it should load eagerly.