Lines Matching refs:Pair
288 GOTDefUsePair &Pair = CandPairs[Idx]; in addLinkerOpt() local
291 if (!BBI->readsRegister(Pair.DefReg, TRI) && in addLinkerOpt()
292 !BBI->modifiesRegister(Pair.DefReg, TRI)) in addLinkerOpt()
301 if (UseOp && UseOp->isReg() && UseOp->getReg() == Pair.DefReg && in addLinkerOpt()
303 Pair.UseInst = BBI; in addLinkerOpt()
304 Pair.UseReg = BBI->getOperand(0).getReg(); in addLinkerOpt()
305 ValidPairs.push_back(Pair); in addLinkerOpt()
312 for (auto Pair = ValidPairs.begin(); Pair != ValidPairs.end(); Pair++) { in addLinkerOpt() local
314 assert(Pair->UseInst.isValid() && Pair->StillValid && in addLinkerOpt()
319 MachineBasicBlock::iterator BBI = Pair->DefInst; in addLinkerOpt()
321 for (; BBI != Pair->UseInst; ++BBI) { in addLinkerOpt()
322 if (BBI->readsRegister(Pair->UseReg, TRI) || in addLinkerOpt()
323 BBI->modifiesRegister(Pair->UseReg, TRI)) { in addLinkerOpt()
324 Pair->StillValid = false; in addLinkerOpt()
329 if (!Pair->StillValid) in addLinkerOpt()
339 MachineOperand::CreateReg(Pair->UseReg, true, true); in addLinkerOpt()
341 MachineOperand::CreateReg(Pair->UseReg, false, true); in addLinkerOpt()
342 Pair->DefInst->addOperand(ImplDef); in addLinkerOpt()
343 Pair->UseInst->addOperand(ImplUse); in addLinkerOpt()
350 Pair->DefInst->addOperand(*MF, PCRelLabel); in addLinkerOpt()
351 Pair->UseInst->addOperand(*MF, PCRelLabel); in addLinkerOpt()