[PATCH] D76594: [clang][AST] Support AST files larger than 512M
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 30 04:50:29 PDT 2020
sammccall added inline comments.
================
Comment at: clang/include/clang/Serialization/ASTBitCodes.h:220
/// Source range/offset of a preprocessed entity.
struct DeclOffset {
+ /// Raw source location. The unsigned i.e. 32-bit integer is enough for
----------------
Is there one of these for every decl in the module? It seems like we're probably giving up a good fraction of the 4% increase for just using absolute 64 bit offsets everywhere :-( Is there still a significant gain from using section-relative elsewhere?
If there are indeed lots of these, giving up 4 bytes to padding (in addition to the wide offset) seems unfortunate and because we memcpy the structs into the AST file seems like a sad reason :-)
Can we align this to 4 bytes instead?
(e.g. by splitting into two fields and encapsulating the few direct accesses, though there's probably a neater way)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76594/new/
https://reviews.llvm.org/D76594
More information about the cfe-commits
mailing list