New VNInfo alignment patch by Ryan Flynn.
authorLang Hames <lhames@gmail.com>
Tue, 14 Jul 2009 05:46:55 +0000 (05:46 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 14 Jul 2009 05:46:55 +0000 (05:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75609 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/LiveInterval.h

index 236ddfe4b9196924bf2adea37da3087a7ba698cf..21af54ffd132e5c883397d7f94a59e44db570932 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/Support/Allocator.h"
+#include "llvm/Support/AlignOf.h"
 #include <iosfwd>
 #include <cassert>
 #include <climits>
@@ -212,18 +213,6 @@ namespace llvm {
   /// register or value.  This class also contains a bit of register allocator
   /// state.
   class LiveInterval {
-  private:
-  
-    inline unsigned getVNInfoAlignment(void) {
-#ifdef __GNUC__
-      return (unsigned)__alignof__(VNInfo);
-#else
-      // FIXME: ugly.
-      return 8u;
-#endif
-    }
-
-
   public:
 
     typedef SmallVector<LiveRange,4> Ranges;
@@ -344,7 +333,7 @@ namespace llvm {
              "PHI def / unused flags should now be passed explicitly.");
       VNInfo *VNI =
         static_cast<VNInfo*>(VNInfoAllocator.Allocate((unsigned)sizeof(VNInfo),
-                                                      getVNInfoAlignment()));
+                                                      alignof<VNInfo>()));
       new (VNI) VNInfo((unsigned)valnos.size(), MIIdx, CopyMI);
       VNI->setIsDefAccurate(isDefAccurate);
       valnos.push_back(VNI);
@@ -357,7 +346,7 @@ namespace llvm {
 
       VNInfo *VNI =
         static_cast<VNInfo*>(VNInfoAllocator.Allocate((unsigned)sizeof(VNInfo),
-                                                      getVNInfoAlignment()));
+                                                      alignof<VNInfo>()));
     
       new (VNI) VNInfo((unsigned)valnos.size(), *orig);
       valnos.push_back(VNI);