OSDN Git Service

[MC] Reorder MCSymbol members to reduce padding.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 30 May 2015 13:52:30 +0000 (13:52 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 30 May 2015 13:52:30 +0000 (13:52 +0000)
sizeof(MCSymbol) goes from 72 to 64 bytes on x86_64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238655 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCSymbol.h

index 33fadbc..f6bb1a7 100644 (file)
@@ -72,11 +72,6 @@ class MCSymbol {
   /// symbol has no size this field will be NULL.
   const MCExpr *SymbolSize = nullptr;
 
-  /// The alignment of the symbol, if it is 'common', or -1.
-  //
-  // FIXME: Pack this in with other fields?
-  unsigned CommonAlign = -1U;
-
   union {
     /// The offset to apply to the fragment address to form this symbol's value.
     uint64_t Offset;
@@ -85,6 +80,11 @@ class MCSymbol {
     uint64_t CommonSize;
   };
 
+  /// The alignment of the symbol, if it is 'common', or -1.
+  //
+  // FIXME: Pack this in with other fields?
+  unsigned CommonAlign = -1U;
+
   /// The Flags field is used by object file implementations to store
   /// additional per symbol information which is not easily classified.
   mutable uint32_t Flags = 0;