mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
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:
parent
e76af29edc
commit
9558b4a292
@ -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,
|
||||
int64_t intValue);
|
||||
void SetMachineOperandReg(unsigned i,
|
||||
int regNum,
|
||||
bool isDef=false);
|
||||
bool isDef=false,
|
||||
bool isCCReg=false);
|
||||
|
||||
void addImplicitRef (Value* val,
|
||||
bool isDef=false);
|
||||
|
Loading…
Reference in New Issue
Block a user