Enhance clang_getCXTUResourceUsage() to report the amount of memory used by SourceManager's content cache allocator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130380 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index 673f3eb..c72d496 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -5220,6 +5220,9 @@
     case CXTUResourceUsage_GlobalCompletionResults:
       str = "Code completion: cached global results";
       break;
+    case CXTUResourceUsage_SourceManagerContentCache:
+      str = "SourceManager: content cache allocator";
+      break;
   }
   return str;
 }
@@ -5252,8 +5255,14 @@
       astUnit->getCachedCompletionAllocator().getPtr()) {
     completionBytes = completionAllocator-> getTotalMemory();
   }
-  createCXTUResourceUsageEntry(*entries, CXTUResourceUsage_GlobalCompletionResults,
-    completionBytes);
+  createCXTUResourceUsageEntry(*entries,
+                               CXTUResourceUsage_GlobalCompletionResults,
+                               completionBytes);
+  
+  // How much memory is being used by SourceManager's content cache?
+  createCXTUResourceUsageEntry(*entries,
+          CXTUResourceUsage_SourceManagerContentCache,
+          (unsigned long) astContext.getSourceManager().getContentCacheSize());
 
 
   CXTUResourceUsage usage = { (void*) entries.get(),