riccibruno added a comment.

@rjmccall

I would argue that we should make these bit-fields take 8 bytes for the 
following reasons:

1. On 64 bits archs, this is free since we have already 8 bytes of padding here.
2. On 32 bits archs, this a priori increase the size of each Type by 4 bytes. 
However, types are aligned to 16 bytes because of the fast CVR qualifiers. 
Doing an fsyntax-only on all of Boost with -print-stats I get that by far the 
most commonly used Types have size 40 or 48 (on a 64 bits arch). That is 5 or 6 
pointers. This would be 20 or 24 bytes on 32 bits archs if we assume that every 
member of the most commonly used types are pointers and that we shrink the 
bitfields to 32 bits. But since Types are aligned to 16 bytes we do not gain 
anything.


Repository:
  rC Clang

https://reviews.llvm.org/D50630



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to