Significant improvement: GEP used by a load or store no longer generates
[oota-llvm.git] / lib / Target / SparcV9 / RegAlloc / PhyRegAlloc.h
index 5c27700d9d66dead9d4fe7c115a077f3f3413519..da4d2fd8ecdd859261e5e672630b06889124531e 100644 (file)
@@ -32,7 +32,7 @@
 
 #include "llvm/CodeGen/RegClass.h"
 #include "llvm/CodeGen/LiveRangeInfo.h"
-#include <deque>
+#include <vector>
 #include <map>
 
 class MachineCodeForMethod;
@@ -51,8 +51,8 @@ class LoopInfo;
 //----------------------------------------------------------------------------
 
 struct AddedInstrns {
-  std::deque<MachineInstr*> InstrnsBefore;// Added insts BEFORE an existing inst
-  std::deque<MachineInstr*> InstrnsAfter; // Added insts AFTER an existing inst
+  std::vector<MachineInstr*> InstrnsBefore;// Added insts BEFORE an existing inst
+  std::vector<MachineInstr*> InstrnsAfter; // Added insts AFTER an existing inst
 };
 
 typedef std::map<const MachineInstr *, AddedInstrns> AddedInstrMapType;
@@ -143,13 +143,14 @@ private:
   friend class UltraSparcRegInfo;
 
 
-  int getUsableUniRegAtMI(RegClass *RC, int RegType, 
-                         const MachineInstr *MInst,
-                         const ValueSet *LVSetBef, MachineInstr *&MIBef, 
-                         MachineInstr *&MIAft );
-
+  int getUsableUniRegAtMI(int RegType, 
+                         const ValueSet *LVSetBef,
+                         MachineInstr *MInst,
+                          std::vector<MachineInstr*>& MIBef,
+                          std::vector<MachineInstr*>& MIAft);
+  
   int getUnusedUniRegAtMI(RegClass *RC,  const MachineInstr *MInst, 
-                      const ValueSet *LVSetBef);
+                          const ValueSet *LVSetBef);
 
   void setRelRegsUsedByThisInst(RegClass *RC, const MachineInstr *MInst );
   int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);