diff options
author | Chris Lattner <sabre@nondot.org> | 2002-10-28 04:24:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-10-28 04:24:49 +0000 |
commit | 340bb96e642f1dfd1ed64cc87ea1a36d230e9c3c (patch) | |
tree | d4dd0ed0dfda2fc4ff42499e164acdb747d0cfbc /llvm/lib/CodeGen/MachineInstr.cpp | |
parent | bb49babe183eee2aa20a33277177a760b9b45cf2 (diff) | |
download | bcm5719-llvm-340bb96e642f1dfd1ed64cc87ea1a36d230e9c3c.tar.gz bcm5719-llvm-340bb96e642f1dfd1ed64cc87ea1a36d230e9c3c.zip |
Fairly major overhaul of MachineInstr & Operand classes
- Inline methods that are mostly a single line anyway
- Eliminate several methods that were never called
- Group methods a bit more consistently
llvm-svn: 4329
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineInstr.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp index cd439e3aee5..367774ac8ac 100644 --- a/llvm/lib/CodeGen/MachineInstr.cpp +++ b/llvm/lib/CodeGen/MachineInstr.cpp @@ -47,12 +47,16 @@ MachineInstr::replace(MachineOpCode _opCode, void MachineInstr::SetMachineOperandVal(unsigned int i, MachineOperand::MachineOperandType opType, - Value* _val, + Value* V, bool isdef, bool isDefAndUse) { assert(i < operands.size()); - operands[i].Initialize(opType, _val); + operands[i].opType = opType; + operands[i].value = V; + operands[i].regNum = -1; + operands[i].flags = 0; + if (isdef || TargetInstrDescriptors[opCode].resultPos == (int) i) operands[i].markDef(); if (isDefAndUse) @@ -60,25 +64,36 @@ MachineInstr::SetMachineOperandVal(unsigned int i, } void -MachineInstr::SetMachineOperandConst(unsigned int i, +MachineInstr::SetMachineOperandConst(unsigned i, MachineOperand::MachineOperandType operandType, int64_t intValue) { assert(i < operands.size()); assert(TargetInstrDescriptors[opCode].resultPos != (int) i && "immed. constant cannot be defined"); - operands[i].InitializeConst(operandType, intValue); + + operands[i].opType = operandType; + operands[i].value = NULL; + operands[i].immedVal = intValue; + operands[i].regNum = -1; + operands[i].flags = 0; } void -MachineInstr::SetMachineOperandReg(unsigned int i, +MachineInstr::SetMachineOperandReg(unsigned i, int regNum, bool isdef, bool isDefAndUse, bool isCCReg) { assert(i < operands.size()); - operands[i].InitializeReg(regNum, isCCReg); + + operands[i].opType = + isCCReg? MachineOperand::MO_CCRegister : MachineOperand::MO_MachineRegister; + operands[i].value = NULL; + operands[i].regNum = regNum; + operands[i].flags = 0; + if (isdef || TargetInstrDescriptors[opCode].resultPos == (int) i) operands[i].markDef(); if (isDefAndUse) |