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