#include "llvm/CodeGen/RegClass.h"
#include "llvm/CodeGen/LiveRangeInfo.h"
-#include <deque>
+#include <vector>
#include <map>
class MachineCodeForMethod;
//----------------------------------------------------------------------------
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;
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);