Bug fix in setting CC register.

Also use distinct names for the three types of SetMachineOperand
to avoid painful overloading problems and errors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1894 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vikram S. Adve 2002-03-18 03:10:17 +00:00
parent e76af29edc
commit 9558b4a292

View File

@ -119,7 +119,8 @@ private:
Value* _val);
void InitializeConst (MachineOperandType operandType,
int64_t intValue);
void InitializeReg (int regNum);
void InitializeReg (int regNum,
bool isCCReg);
friend class MachineInstr;
@ -198,9 +199,9 @@ MachineOperand::InitializeConst(MachineOperandType operandType,
}
inline void
MachineOperand::InitializeReg(int _regNum)
MachineOperand::InitializeReg(int _regNum, bool isCCReg)
{
opType = MO_MachineRegister;
opType = isCCReg? MO_CCRegister : MO_MachineRegister;
value = NULL;
regNum = (int) _regNum;
}
@ -284,15 +285,16 @@ public:
// Access to set the operands when building the machine instruction
void SetMachineOperand(unsigned i,
void SetMachineOperandVal(unsigned i,
MachineOperand::MachineOperandType operandType,
Value* _val, bool isDef=false);
void SetMachineOperand(unsigned i,
void SetMachineOperandConst(unsigned i,
MachineOperand::MachineOperandType operandType,
int64_t intValue, bool isDef=false);
void SetMachineOperand(unsigned i,
int regNum,
bool isDef=false);
int64_t intValue);
void SetMachineOperandReg(unsigned i,
int regNum,
bool isDef=false,
bool isCCReg=false);
void addImplicitRef (Value* val,
bool isDef=false);