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

Reply via email to