[clang] [clang][modules] Avoid allocations when reading blob paths (PR #113984)
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 29 13:39:41 PDT 2024
================
@@ -1341,9 +1341,22 @@ class ASTReader
serialization::InputFile getInputFile(ModuleFile &F, unsigned ID,
bool Complain = true);
+ /// Buffer we use as temporary storage backing resolved paths.
+ SmallString<256> PathBuf;
----------------
jansvoboda11 wrote:
Note that I don't wrap the return value in `TemporarilyOwnedStringRef` for the static versions of `ResolveImportedPath()`. Those take the buffer as out-parameter, which makes it fairly obvious (along with the documentation) how the lifetimes work. I'd be in favor of just explicitly passing the member `ASTReader` buffer into the same function and call it obvious enough. But LMK if you'd like to go the other direction and extend `TemporarilyOwnedStringRef` to the static functions too.
https://github.com/llvm/llvm-project/pull/113984
More information about the cfe-commits
mailing list