From 9d3248b76560a0449a24f15a9b50a6ce80ea8925 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Thu, 22 Dec 2016 04:09:29 +0000 Subject: [PATCH] [ThinLTO] Save 8B per summary entry by rearranging the fields (NFC) Size goes from 72B to 64B per entry. Differential Revision: https://reviews.llvm.org/D27970 llvm-svn: 290314 --- llvm/include/llvm/IR/ModuleSummaryIndex.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/include/llvm/IR/ModuleSummaryIndex.h b/llvm/include/llvm/IR/ModuleSummaryIndex.h index 53df1bd..2cfe673 100644 --- a/llvm/include/llvm/IR/ModuleSummaryIndex.h +++ b/llvm/include/llvm/IR/ModuleSummaryIndex.h @@ -100,7 +100,7 @@ template <> struct DenseMapInfo { 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 -- 2.7.4