no really, I can spell!
[oota-llvm.git] / include / llvm / CodeGen / LiveInterval.h
index 35640ac200c38a088406b9fbebc8b29dbb3a5dd5..52e43d3428978634d9eee91279b40e70b8064013 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>
@@ -31,7 +32,6 @@ namespace llvm {
   class MachineInstr;
   class MachineRegisterInfo;
   class TargetRegisterInfo;
-  struct LiveInterval;
 
   /// VNInfo - Value Number Information.
   /// This class holds information about a machine level values, including
@@ -212,22 +212,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
-    }
-
-    Ranges::iterator addRangeFrom(LiveRange LR, Ranges::iterator From);
-    void extendIntervalEndTo(Ranges::iterator I, unsigned NewEnd);
-    Ranges::iterator extendIntervalStartTo(Ranges::iterator I, unsigned NewStr);
-    LiveInterval& operator=(const LiveInterval& rhs); // DO NOT IMPLEMENT
-
   public:
 
     typedef SmallVector<LiveRange,4> Ranges;
@@ -348,7 +332,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);
@@ -361,7 +345,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);
@@ -598,6 +582,13 @@ namespace llvm {
     }
     void dump() const;
 
+  private:
+
+    Ranges::iterator addRangeFrom(LiveRange LR, Ranges::iterator From);
+    void extendIntervalEndTo(Ranges::iterator I, unsigned NewEnd);
+    Ranges::iterator extendIntervalStartTo(Ranges::iterator I, unsigned NewStr);
+    LiveInterval& operator=(const LiveInterval& rhs); // DO NOT IMPLEMENT
+
   };
 
   inline std::ostream &operator<<(std::ostream &OS, const LiveInterval &LI) {