================
@@ -1488,6 +1488,18 @@ static bool compileModuleImpl(CompilerInstance 
&ImportingInstance,
     ImportingInstance.getModuleCache().updateModuleTimestamp(ModuleFileName);
   }
 
+  // This isn't strictly necessary, but it's more efficient to extract the AST
+  // file (which may be wrapped in an object file) now rather than doing so
+  // repeatedly in the readers.
+  const PCHContainerReader &Rdr = ImportingInstance.getPCHContainerReader();
+  StringRef ExtractedBuffer = Rdr.ExtractPCH(*Buffer);
----------------
jansvoboda11 wrote:

Ah, that definitely makes sense! I think even re-layering this such that 
`ImportingInstance.compileModule()` returns the buffer as produced by 
`ASTWriter` would be nice. That way, the in-memory module cache can store it 
as-is, and we only need to wrap it for the module cache write, without the 
extra unwrap.

https://github.com/llvm/llvm-project/pull/190062
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to