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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits