[ThinLTO] Save 8B per summary entry by rearranging the fields (NFC)
authorMehdi Amini <mehdi.amini@apple.com>
Thu, 22 Dec 2016 04:09:29 +0000 (04:09 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Thu, 22 Dec 2016 04:09:29 +0000 (04:09 +0000)
Size goes from 72B to 64B per entry.

Differential Revision: https://reviews.llvm.org/D27970

llvm-svn: 290314

llvm/include/llvm/IR/ModuleSummaryIndex.h

index 53df1bd..2cfe673 100644 (file)
@@ -100,7 +100,7 @@ template <> struct DenseMapInfo<ValueInfo> {
 class GlobalValueSummary {
 public:
   /// \brief Sububclass discriminator (for dyn_cast<> et al.)
-  enum SummaryKind { AliasKind, FunctionKind, GlobalVarKind };
+  enum SummaryKind : unsigned { AliasKind, FunctionKind, GlobalVarKind };
 
   /// Group flags (Linkage, noRename, isOptSize, etc.) as a bitfield.
   struct GVFlags {
@@ -152,6 +152,8 @@ private:
   /// Kind of summary for use in dyn_cast<> et al.
   SummaryKind Kind;
 
+  GVFlags Flags;
+
   /// This is the hash of the name of the symbol in the original file. It is
   /// identical to the GUID for global symbols, but differs for local since the
   /// GUID includes the module level id in the hash.
@@ -166,8 +168,6 @@ private:
   /// module path string table.
   StringRef ModulePath;
 
-  GVFlags Flags;
-
   /// List of values referenced by this global value's definition
   /// (either by the initializer of a global variable, or referenced
   /// from within a function). This does not include functions called, which