diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-06-30 22:52:52 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-06-30 22:52:52 +0000 |
commit | e4f5e4f4d1c47f996bb22b21989c3cc32fd9a0cd (patch) | |
tree | f149f6737d4fe96604d1e16648f1161f5b8dcb35 /llvm/lib/Target/MSP430 | |
parent | 9743af6e31eb0699ded017ac1f957a4a6fe78bf6 (diff) | |
download | bcm5719-llvm-e4f5e4f4d1c47f996bb22b21989c3cc32fd9a0cd.tar.gz bcm5719-llvm-e4f5e4f4d1c47f996bb22b21989c3cc32fd9a0cd.zip |
CodeGen: Use MachineInstr& in TargetLowering, NFC
This is a mechanical change to make TargetLowering API take MachineInstr&
(instead of MachineInstr*), since the argument is expected to be a valid
MachineInstr. In one case, changed a parameter from MachineInstr* to
MachineBasicBlock::iterator, since it was used as an insertion point.
As a side effect, this removes a bunch of MachineInstr* to
MachineBasicBlock::iterator implicit conversions, a necessary step
toward fixing PR26753.
llvm-svn: 274287
Diffstat (limited to 'llvm/lib/Target/MSP430')
-rw-r--r-- | llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 39 | ||||
-rw-r--r-- | llvm/lib/Target/MSP430/MSP430ISelLowering.h | 7 |
2 files changed, 24 insertions, 22 deletions
diff --git a/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp b/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp index 11b71aa6eb6..db016bdef6f 100644 --- a/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp +++ b/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp @@ -1166,17 +1166,17 @@ bool MSP430TargetLowering::isZExtFree(SDValue Val, EVT VT2) const { // Other Lowering Code //===----------------------------------------------------------------------===// -MachineBasicBlock* -MSP430TargetLowering::EmitShiftInstr(MachineInstr *MI, +MachineBasicBlock * +MSP430TargetLowering::EmitShiftInstr(MachineInstr &MI, MachineBasicBlock *BB) const { MachineFunction *F = BB->getParent(); MachineRegisterInfo &RI = F->getRegInfo(); - DebugLoc dl = MI->getDebugLoc(); + DebugLoc dl = MI.getDebugLoc(); const TargetInstrInfo &TII = *F->getSubtarget().getInstrInfo(); unsigned Opc; const TargetRegisterClass * RC; - switch (MI->getOpcode()) { + switch (MI.getOpcode()) { default: llvm_unreachable("Invalid shift opcode!"); case MSP430::Shl8: Opc = MSP430::SHL8r1; @@ -1230,9 +1230,9 @@ MSP430TargetLowering::EmitShiftInstr(MachineInstr *MI, unsigned ShiftAmtReg2 = RI.createVirtualRegister(&MSP430::GR8RegClass); unsigned ShiftReg = RI.createVirtualRegister(RC); unsigned ShiftReg2 = RI.createVirtualRegister(RC); - unsigned ShiftAmtSrcReg = MI->getOperand(2).getReg(); - unsigned SrcReg = MI->getOperand(1).getReg(); - unsigned DstReg = MI->getOperand(0).getReg(); + unsigned ShiftAmtSrcReg = MI.getOperand(2).getReg(); + unsigned SrcReg = MI.getOperand(1).getReg(); + unsigned DstReg = MI.getOperand(0).getReg(); // BB: // cmp 0, N @@ -1268,14 +1268,14 @@ MSP430TargetLowering::EmitShiftInstr(MachineInstr *MI, .addReg(SrcReg).addMBB(BB) .addReg(ShiftReg2).addMBB(LoopBB); - MI->eraseFromParent(); // The pseudo instruction is gone now. + MI.eraseFromParent(); // The pseudo instruction is gone now. return RemBB; } -MachineBasicBlock* -MSP430TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI, +MachineBasicBlock * +MSP430TargetLowering::EmitInstrWithCustomInserter(MachineInstr &MI, MachineBasicBlock *BB) const { - unsigned Opc = MI->getOpcode(); + unsigned Opc = MI.getOpcode(); if (Opc == MSP430::Shl8 || Opc == MSP430::Shl16 || Opc == MSP430::Sra8 || Opc == MSP430::Sra16 || @@ -1283,7 +1283,7 @@ MSP430TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI, return EmitShiftInstr(MI, BB); const TargetInstrInfo &TII = *BB->getParent()->getSubtarget().getInstrInfo(); - DebugLoc dl = MI->getDebugLoc(); + DebugLoc dl = MI.getDebugLoc(); assert((Opc == MSP430::Select16 || Opc == MSP430::Select8) && "Unexpected instr type to insert"); @@ -1317,8 +1317,8 @@ MSP430TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI, BB->addSuccessor(copy1MBB); BuildMI(BB, dl, TII.get(MSP430::JCC)) - .addMBB(copy1MBB) - .addImm(MI->getOperand(3).getImm()); + .addMBB(copy1MBB) + .addImm(MI.getOperand(3).getImm()); // copy0MBB: // %FalseValue = ... @@ -1332,11 +1332,12 @@ MSP430TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI, // %Result = phi [ %FalseValue, copy0MBB ], [ %TrueValue, thisMBB ] // ... BB = copy1MBB; - BuildMI(*BB, BB->begin(), dl, TII.get(MSP430::PHI), - MI->getOperand(0).getReg()) - .addReg(MI->getOperand(2).getReg()).addMBB(copy0MBB) - .addReg(MI->getOperand(1).getReg()).addMBB(thisMBB); + BuildMI(*BB, BB->begin(), dl, TII.get(MSP430::PHI), MI.getOperand(0).getReg()) + .addReg(MI.getOperand(2).getReg()) + .addMBB(copy0MBB) + .addReg(MI.getOperand(1).getReg()) + .addMBB(thisMBB); - MI->eraseFromParent(); // The pseudo instruction is gone now. + MI.eraseFromParent(); // The pseudo instruction is gone now. return BB; } diff --git a/llvm/lib/Target/MSP430/MSP430ISelLowering.h b/llvm/lib/Target/MSP430/MSP430ISelLowering.h index 38170c5e364..8864807e999 100644 --- a/llvm/lib/Target/MSP430/MSP430ISelLowering.h +++ b/llvm/lib/Target/MSP430/MSP430ISelLowering.h @@ -121,9 +121,10 @@ namespace llvm { bool isZExtFree(EVT VT1, EVT VT2) const override; bool isZExtFree(SDValue Val, EVT VT2) const override; - MachineBasicBlock* EmitInstrWithCustomInserter(MachineInstr *MI, - MachineBasicBlock *BB) const override; - MachineBasicBlock* EmitShiftInstr(MachineInstr *MI, + MachineBasicBlock * + EmitInstrWithCustomInserter(MachineInstr &MI, + MachineBasicBlock *BB) const override; + MachineBasicBlock *EmitShiftInstr(MachineInstr &MI, MachineBasicBlock *BB) const; private: |