From 98a9c979e271ee24bf5f87baed5050cf9c8b236d Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Mon, 6 Aug 2001 21:06:10 +0000 Subject: [PATCH] Add CC operand as 4th operand of SUBcc, and mark it as a def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../TargetMachine/Sparc/SparcInstrSelection.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp b/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp index 901ad0053f4..b472febbddd 100644 --- a/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp +++ b/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp @@ -479,12 +479,11 @@ GetInstructionsByRule(InstructionNode* subtreeRoot, mvec[0] = new MachineInstr(SUBcc); Set3OperandsFromInstr(mvec[0], subtreeRoot, target, discardResult); - if (discardResult) - {// mark the "result" operand as being a CC register - mvec[0]->SetMachineOperand(2, MachineOperand::MO_CCRegister, - subtreeRoot->getValue()); - } - else + // mark the 4th operand as being a CC register, and a "result" + mvec[0]->SetMachineOperand(3, MachineOperand::MO_CCRegister, + subtreeRoot->getValue(), /*def*/ true); + + if (!discardResult) { // recompute bool if needed, using the integer condition codes if (result->getOpcode() == Instruction::SetNE) discardResult = true; -- 2.34.1