Lines Matching +full:second +full:- +full:order
1 //===- LiveRangeShrink.cpp - Move instructions to shrink live range -------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 ///===---------------------------------------------------------------------===//
15 ///===---------------------------------------------------------------------===//
73 /// \p M maintains a map from instruction to its dominating order that satisfies
85 unsigned OrderOld = M.find(Old)->second;
86 unsigned OrderNew = NewIter->second;
91 for (MachineInstr *I = Old->getNextNode(); M.find(I)->second == OrderNew;
92 I = I->getNextNode())
98 /// Builds Instruction to its dominating order number map \p M by traversing
104 for (MachineInstr &I : make_range(Start, Start->getParent()->end()))
118 // Map from register to instruction order (value of IOM) where the
152 BarrierMI = UseMap[MO.getReg()].second;
171 // Number of live-ranges that will be shortened. We do not count
172 // live-ranges that are defined by a COPY as it could be coalesced later.
195 MRI.getRegClass(DefMO->getReg()) ==
214 I = I->getNextNode())
221 MachineBasicBlock::iterator I = std::next(Insert->getIterator());
223 while (I != MBB.end() && (I->isPHI() || I->isDebugOrPseudoInstr()))
228 // Update the dominator order to be the same as the insertion point.
229 // We do this to maintain a non-decreasing order without need to update
238 for (; EndIter != MBB.end() && EndIter->isDebugValue() &&
239 EndIter->hasDebugOperandForReg(MI.getOperand(0).getReg());