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 a955b80..52f58f8 100644
--- a/include/clang/Frontend/PCHReader.h
+++ b/include/clang/Frontend/PCHReader.h
@@ -106,7 +106,7 @@
 
   /// \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 f87252a..1b26b72 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Frontend/PCHReader.cpp
@@ -1017,7 +1017,7 @@
       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 f0dd43a..d8603df 100644
--- a/lib/Frontend/PCHWriter.cpp
+++ b/lib/Frontend/PCHWriter.cpp
@@ -738,7 +738,7 @@
 
   // Write out the source location entry table. We skip the first
   // entry, which is always the same dummy entry.
-  std::vector<uint64_t> SLocEntryOffsets;
+  std::vector<uint32_t> SLocEntryOffsets;
   RecordData PreloadSLocs;
   SLocEntryOffsets.reserve(SourceMgr.sloc_entry_size() - 1);
   for (SourceManager::sloc_entry_iterator 
@@ -836,7 +836,7 @@
   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.