diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp index 23d0cc829e52..03b0f75b2dc1 100644 --- a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp +++ b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp @@ -237,12 +237,9 @@ static bool isEvenReg(unsigned Reg) { } static void removeKillInfo(MachineInstr &MI, unsigned RegNotKilled) { - for (unsigned I = 0, E = MI.getNumOperands(); I != E; ++I) { - MachineOperand &Op = MI.getOperand(I); - if (!Op.isReg() || Op.getReg() != RegNotKilled || !Op.isKill()) - continue; - Op.setIsKill(false); - } + for (MachineOperand &Op : MI.operands()) + if (Op.isReg() && Op.getReg() == RegNotKilled && Op.isKill()) + Op.setIsKill(false); } /// Returns true if it is unsafe to move a copy instruction from \p UseReg to @@ -403,10 +400,7 @@ HexagonCopyToCombine::findPotentialNewifiableTFRs(MachineBasicBlock &BB) { // Mark TFRs that feed a potential new value store as such. if (TII->mayBeNewStore(MI)) { // Look for uses of TFR instructions. - for (unsigned OpdIdx = 0, OpdE = MI.getNumOperands(); OpdIdx != OpdE; - ++OpdIdx) { - MachineOperand &Op = MI.getOperand(OpdIdx); - + for (const MachineOperand &Op : MI.operands()) { // Skip over anything except register uses. if (!Op.isReg() || !Op.isUse() || !Op.getReg()) continue; @@ -484,14 +478,13 @@ bool HexagonCopyToCombine::runOnMachineFunction(MachineFunction &MF) { IsConst64Disabled = true; // Traverse basic blocks. - for (MachineFunction::iterator BI = MF.begin(), BE = MF.end(); BI != BE; - ++BI) { + for (MachineBasicBlock &MBB : MF) { PotentiallyNewifiableTFR.clear(); - findPotentialNewifiableTFRs(*BI); + findPotentialNewifiableTFRs(MBB); // Traverse instructions in basic block. - for(MachineBasicBlock::iterator MI = BI->begin(), End = BI->end(); - MI != End;) { + for (MachineBasicBlock::iterator MI = MBB.begin(), End = MBB.end(); + MI != End;) { MachineInstr &I1 = *MI++; if (I1.isDebugInstr()) |
