summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-10-28 04:24:49 +0000
committerChris Lattner <sabre@nondot.org>2002-10-28 04:24:49 +0000
commit340bb96e642f1dfd1ed64cc87ea1a36d230e9c3c (patch)
treed4dd0ed0dfda2fc4ff42499e164acdb747d0cfbc /llvm/lib/CodeGen/MachineInstr.cpp
parentbb49babe183eee2aa20a33277177a760b9b45cf2 (diff)
downloadbcm5719-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.cpp27
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)
OpenPOWER on IntegriCloud