Use std::unique instead of a SmallPtrSet to ensure unique instructions in UseSlots.
[oota-llvm.git] / include / llvm / CodeGen / MachineFrameInfo.h
index 44b3aed8453b395d3177e6b3ec00d95123bd951d..4ea6aa3396a9aa82ba81217f33ed91daa2a8f465 100644 (file)
@@ -15,8 +15,7 @@
 #define LLVM_CODEGEN_MACHINEFRAMEINFO_H
 
 #include "llvm/ADT/SmallVector.h"
-//#include "llvm/ADT/IndexedMap.h"
-#include "llvm/System/DataTypes.h"
+#include "llvm/Support/DataTypes.h"
 #include <cassert>
 #include <vector>
 
@@ -27,11 +26,11 @@ class TargetRegisterClass;
 class Type;
 class MachineFunction;
 class MachineBasicBlock;
-class TargetFrameInfo;
+class TargetFrameLowering;
 class BitVector;
 
 /// The CalleeSavedInfo class tracks the information need to locate where a
-/// callee saved register in the current frame.
+/// callee saved register is in the current frame.
 class CalleeSavedInfo {
   unsigned Reg;
   int FrameIdx;
@@ -192,13 +191,9 @@ class MachineFrameInfo {
   /// CSIValid - Has CSInfo been set yet?
   bool CSIValid;
 
-  /// SpillObjects - A vector indicating which frame indices refer to
-  /// spill slots.
-  SmallVector<bool, 8> SpillObjects;
-
-  /// TargetFrameInfo - Target information about frame layout.
+  /// TargetFrameLowering - Target information about frame layout.
   ///
-  const TargetFrameInfo &TFI;
+  const TargetFrameLowering &TFI;
 
   /// LocalFrameObjects - References to frame indices which are mapped
   /// into the local frame allocation block. <FrameIdx, LocalOffset>
@@ -217,7 +212,7 @@ class MachineFrameInfo {
   bool UseLocalStackAllocationBlock;
 
 public:
-    explicit MachineFrameInfo(const TargetFrameInfo &tfi) : TFI(tfi) {
+    explicit MachineFrameInfo(const TargetFrameLowering &tfi) : TFI(tfi) {
     StackSize = NumFixedObjects = OffsetAdjustment = MaxAlignment = 0;
     HasVarSizedObjects = false;
     FrameAddressTaken = false;
@@ -305,7 +300,7 @@ public:
 
   /// getLocalFrameMaxAlign - Return the required alignment of the local
   /// object blob.
-  unsigned getLocalFrameMaxAlign() { return LocalFrameMaxAlign; }
+  unsigned getLocalFrameMaxAlign() const { return LocalFrameMaxAlign; }
 
   /// getUseLocalStackAllocationBlock - Get whether the local allocation blob
   /// should be allocated together or let PEI allocate the locals in it