summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-01-15 18:11:11 +0000
committerChris Lattner <sabre@nondot.org>2003-01-15 18:11:11 +0000
commit8145abb99e8baa0428804a695ecae4ee93a342cf (patch)
tree43df4e544dd4f2e2af154301646ee6462f398edd /llvm/lib
parent8128936c33cfca9f523eaee6cb888419dfd2f345 (diff)
downloadbcm5719-llvm-8145abb99e8baa0428804a695ecae4ee93a342cf.tar.gz
bcm5719-llvm-8145abb99e8baa0428804a695ecae4ee93a342cf.zip
Fix bug found by regtests
llvm-svn: 5294
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Sparc/SparcInstrSelection.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/llvm/lib/Target/Sparc/SparcInstrSelection.cpp b/llvm/lib/Target/Sparc/SparcInstrSelection.cpp
index 05208a4a219..1e0a82d83b2 100644
--- a/llvm/lib/Target/Sparc/SparcInstrSelection.cpp
+++ b/llvm/lib/Target/Sparc/SparcInstrSelection.cpp
@@ -1251,18 +1251,14 @@ GetInstructionsByRule(InstructionNode* subtreeRoot,
Instruction* returnReg = new TmpInstruction(returnInstr);
MachineCodeForInstruction::get(returnInstr).addTemp(returnReg);
- M = new MachineInstr(JMPLRET);
- M->SetMachineOperandVal(0, MachineOperand::MO_VirtualRegister,
- returnReg);
- M->SetMachineOperandConst(1,MachineOperand::MO_SignExtendedImmed,
- (int64_t)8);
- M->SetMachineOperandReg(2, target.getRegInfo().getZeroRegNum());
+ M = BuildMI(JMPLRET, 3).addReg(returnReg).addSImm(8)
+ .addMReg(target.getRegInfo().getZeroRegNum(), MOTy::Def);
if (returnInstr->getReturnValue() != NULL)
M->addImplicitRef(returnInstr->getReturnValue());
mvec.push_back(M);
- mvec.push_back(new MachineInstr(NOP));
+ mvec.push_back(BuildMI(NOP, 0));
break;
}
@@ -1998,8 +1994,8 @@ GetInstructionsByRule(InstructionNode* subtreeRoot,
if (isa<Function>(callee)) // direct function call
M = BuildMI(CALL, 1).addPCDisp(callee);
else // indirect function call
- M = BuildMI(JMPLCALL,
- 3).addReg(callee).addSImm((int64_t)0).addReg(retAddrReg);
+ M = BuildMI(JMPLCALL, 3).addReg(callee).addSImm((int64_t)0)
+ .addRegDef(retAddrReg);
mvec.push_back(M);
const FunctionType* funcType =
OpenPOWER on IntegriCloud