Changes in directory llvm/lib/CodeGen:
LiveIntervalAnalysis.cpp updated: 1.198 -> 1.199 TwoAddressInstructionPass.cpp updated: 1.41 -> 1.42 VirtRegMap.cpp updated: 1.80 -> 1.81 --- Log message: Match TargetInstrInfo changes. --- Diffs of the changes: (+12 -20) LiveIntervalAnalysis.cpp | 3 +-- TwoAddressInstructionPass.cpp | 23 +++++++++-------------- VirtRegMap.cpp | 6 ++---- 3 files changed, 12 insertions(+), 20 deletions(-) Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.198 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.199 --- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.198 Tue Nov 28 18:39:47 2006 +++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp Fri Dec 1 15:48:44 2006 @@ -433,8 +433,7 @@ for (unsigned j = i+1; j < e; ++j) { MachineOperand &MO2 = MI->getOperand(j); if (MO2.isRegister() && MO2.isUse() && MO2.getReg() == Reg && - TII->getOperandConstraint(MI->getOpcode(), j, - TargetInstrInfo::TIED_TO) == (int)i) + TII->getOperandConstraint(MI->getOpcode(),j,TOI::TIED_TO) == (int)i) return true; } } Index: llvm/lib/CodeGen/TwoAddressInstructionPass.cpp diff -u llvm/lib/CodeGen/TwoAddressInstructionPass.cpp:1.41 llvm/lib/CodeGen/TwoAddressInstructionPass.cpp:1.42 --- llvm/lib/CodeGen/TwoAddressInstructionPass.cpp:1.41 Tue Nov 28 16:48:48 2006 +++ llvm/lib/CodeGen/TwoAddressInstructionPass.cpp Fri Dec 1 15:48:44 2006 @@ -79,8 +79,8 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) { DOUT << "Machine Function\n"; const TargetMachine &TM = MF.getTarget(); - const MRegisterInfo &MRI = *TM.getRegisterInfo(); const TargetInstrInfo &TII = *TM.getInstrInfo(); + const MRegisterInfo &MRI = *TM.getRegisterInfo(); LiveVariables &LV = getAnalysis<LiveVariables>(); bool MadeChange = false; @@ -92,11 +92,11 @@ mbbi != mbbe; ++mbbi) { for (MachineBasicBlock::iterator mi = mbbi->begin(), me = mbbi->end(); mi != me; ++mi) { - unsigned opcode = mi->getOpcode(); + const TargetInstrDescriptor *TID = mi->getInstrDescriptor(); bool FirstTied = true; - for (unsigned si = 1, e = TII.getNumOperands(opcode); si < e; ++si) { - int ti = TII.getOperandConstraint(opcode, si, TargetInstrInfo::TIED_TO); + for (unsigned si = 1, e = TID->numOperands; si < e; ++si) { + int ti = TID->getOperandConstraint(si, TOI::TIED_TO); if (ti == -1) continue; @@ -139,13 +139,11 @@ // allow us to coalesce A and B together, eliminating the copy we are // about to insert. if (!LV.KillsRegister(mi, regB)) { - const TargetInstrDescriptor &TID = TII.get(opcode); - // If this instruction is commutative, check to see if C dies. If // so, swap the B and C operands. This makes the live ranges of A // and C joinable. // FIXME: This code also works for A := B op C instructions. - if ((TID.Flags & M_COMMUTABLE) && mi->getNumOperands() == 3) { + if ((TID->Flags & M_COMMUTABLE) && mi->getNumOperands() == 3) { assert(mi->getOperand(3-si).isRegister() && "Not a proper commutative instruction!"); unsigned regC = mi->getOperand(3-si).getReg(); @@ -173,20 +171,17 @@ // If this instruction is potentially convertible to a true // three-address instruction, - if (TID.Flags & M_CONVERTIBLE_TO_3_ADDR) + if (TID->Flags & M_CONVERTIBLE_TO_3_ADDR) // FIXME: This assumes there are no more operands which are tied // to another register. #ifndef NDEBUG - for (unsigned i = si+1, e = TII.getNumOperands(opcode); i < e; ++i) - assert(TII.getOperandConstraint(opcode, i, - TargetInstrInfo::TIED_TO) == -1); + for (unsigned i = si+1, e = TID->numOperands; i < e; ++i) + assert(TID->getOperandConstraint(i, TOI::TIED_TO) == -1); #endif - if (MachineInstr *New = TII.convertToThreeAddress(mi)) { + if (MachineInstr *New = TII.convertToThreeAddress(mbbi, mi, LV)) { DOUT << "2addr: CONVERTING 2-ADDR: " << *mi; DOUT << "2addr: TO 3-ADDR: " << *New; - LV.instructionChanged(mi, New); // Update live variables - mbbi->insert(mi, New); // Insert the new inst mbbi->erase(mi); // Nuke the old inst. mi = New; ++NumConvertedTo3Addr; Index: llvm/lib/CodeGen/VirtRegMap.cpp diff -u llvm/lib/CodeGen/VirtRegMap.cpp:1.80 llvm/lib/CodeGen/VirtRegMap.cpp:1.81 --- llvm/lib/CodeGen/VirtRegMap.cpp:1.80 Thu Nov 16 20:09:07 2006 +++ llvm/lib/CodeGen/VirtRegMap.cpp Fri Dec 1 15:48:44 2006 @@ -97,8 +97,7 @@ } ModRef MRInfo; - if (TII.getOperandConstraint(OldMI->getOpcode(), OpNo, - TargetInstrInfo::TIED_TO)) { + if (TII.getOperandConstraint(OldMI->getOpcode(), OpNo, TOI::TIED_TO)) { // Folded a two-address operand. MRInfo = isModRef; } else if (OldMI->getOperand(OpNo).isDef()) { @@ -592,8 +591,7 @@ // aren't allowed to modify the reused register. If none of these cases // apply, reuse it. bool CanReuse = true; - int ti = TII->getOperandConstraint(MI.getOpcode(), i, - TargetInstrInfo::TIED_TO); + int ti = TII->getOperandConstraint(MI.getOpcode(), i, TOI::TIED_TO); if (ti != -1 && MI.getOperand(ti).isReg() && MI.getOperand(ti).getReg() == VirtReg) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits