OSDN Git Service

Use the same underlying type for bitfields
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 24 Jun 2016 04:05:25 +0000 (04:05 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 24 Jun 2016 04:05:25 +0000 (04:05 +0000)
MSVC allocates fresh storage for consecutive bitfields with different
underlying types.

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

include/llvm/Analysis/AliasSetTracker.h
include/llvm/CodeGen/FunctionLoweringInfo.h
include/llvm/MC/MCSymbol.h

index 760a764..cec5688 100644 (file)
@@ -151,7 +151,7 @@ class AliasSet : public ilist_node<AliasSet> {
   unsigned Alias : 1;
 
   /// True if this alias set contains volatile loads or stores.
-  bool Volatile : 1;
+  unsigned Volatile : 1;
 
   void addRef() { ++RefCount; }
   void dropRef(AliasSetTracker &AST) {
index b948d01..010e341 100644 (file)
@@ -171,7 +171,7 @@ public:
 
   struct LiveOutInfo {
     unsigned NumSignBits : 31;
-    bool IsValid : 1;
+    unsigned IsValid : 1;
     APInt KnownOne, KnownZero;
     LiveOutInfo() : NumSignBits(0), IsValid(true), KnownOne(1, 0),
                     KnownZero(1, 0) {}
index 2c0fa08..23e34b7 100644 (file)
@@ -87,7 +87,7 @@ protected:
   /// IsUsed - True if this symbol has been used.
   mutable unsigned IsUsed : 1;
 
-  mutable bool IsRegistered : 1;
+  mutable unsigned IsRegistered : 1;
 
   /// This symbol is visible outside this translation unit.
   mutable unsigned IsExternal : 1;