fixed a coalscing bug

llvm-svn: 828
This commit is contained in:
Ruchira Sasanka 2001-10-15 16:22:44 +00:00
parent f112d52f2c
commit 33535773cb
3 changed files with 10 additions and 8 deletions

View File

@ -83,7 +83,7 @@ private:
int64_t immedVal; // constant value for an explicit constant
};
unsigned regNum; // register number for an explicit register
int regNum; // register number for an explicit register
// will be set for a value after reg allocation
bool isDef; // is this a defition for the value
@ -107,7 +107,7 @@ public:
}
inline unsigned int getMachineRegNum() const {
assert(opType == MO_MachineRegister);
return regNum;
return (unsigned) regNum;
}
inline int64_t getImmedValue () const {
assert(opType >= MO_SignExtendedImmed || opType <= MO_PCRelativeDisp);
@ -148,7 +148,7 @@ public:
// used to get the reg number if when one is allocted (must be
// called only after reg alloc)
inline unsigned getAllocatedRegNum() const {
inline int getAllocatedRegNum() const {
assert(opType == MO_VirtualRegister || opType == MO_CCRegister ||
opType == MO_MachineRegister);
return regNum;
@ -162,7 +162,7 @@ inline
MachineOperand::MachineOperand()
: opType(MO_VirtualRegister),
immedVal(0),
regNum(0),
regNum(-1),
isDef(false)
{}
@ -213,7 +213,7 @@ MachineOperand::InitializeReg(unsigned int _regNum)
{
opType = MO_MachineRegister;
value = NULL;
regNum = _regNum;
regNum = (int) _regNum;
}

View File

@ -42,7 +42,7 @@
typedef hash_map <const Value *, LiveRange *, hashFuncValue> LiveRangeMapType;
typedef vector <const Instruction *> CallRetInstrListType;
typedef vector <const MachineInstr *> CallRetInstrListType;
class LiveRangeInfo
{
@ -65,6 +65,7 @@ private:
void addInterference(const Instruction *const Inst,
const LiveVarSet *const LVSet);
void suggestRegs4CallRets();
public:

View File

@ -39,12 +39,13 @@
#include "llvm/CodeGen/LiveRangeInfo.h"
#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
#include <deque>
class AddedInstrns
{
public:
vector<MachineInstr *> InstrnsBefore;
vector<MachineInstr *> InstrnsAfter;
deque<MachineInstr *> InstrnsBefore;
deque<MachineInstr *> InstrnsAfter;
AddedInstrns() : InstrnsBefore(), InstrnsAfter() { }
};