• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/

Lines Matching defs:I0

1513   const Instruction *I0 = Insts.front();
1515 if (!I->isSameOperationAs(I0))
1523 auto *PNUse = dyn_cast<PHINode>(*I0->user_begin());
1524 auto *Succ = I0->getParent()->getTerminator()->getSuccessor(0);
1544 if (isa<StoreInst>(I0) && any_of(Insts, [](const Instruction *I) {
1548 if (isa<LoadInst>(I0) && any_of(Insts, [](const Instruction *I) {
1552 if (isLifeTimeMarker(I0) && any_of(Insts, [](const Instruction *I) {
1557 for (unsigned OI = 0, OE = I0->getNumOperands(); OI != OE; ++OI) {
1558 Value *Op = I0->getOperand(OI);
1563 auto SameAsI0 = [&I0, OI](const Instruction *I) {
1564 assert(I->getNumOperands() == I0->getNumOperands());
1565 return I->getOperand(OI) == I0->getOperand(OI);
1568 if ((isa<Constant>(Op) && !replacingOperandWithVariableIsCheap(I0, OI)) ||
1569 !canReplaceOperandWithVariable(I0, OI))
1573 if (isa<CallBase>(I0) && OI == OE - 1) {
1606 Instruction *I0 = Insts.front();
1607 if (!I0->user_empty()) {
1608 auto *PNUse = dyn_cast<PHINode>(*I0->user_begin());
1619 for (unsigned O = 0, E = I0->getNumOperands(); O != E; ++O) {
1626 bool NeedPHI = any_of(Insts, [&I0, O](const Instruction *I) {
1627 return I->getOperand(O) != I0->getOperand(O);
1630 NewOperands.push_back(I0->getOperand(O));
1635 auto *Op = I0->getOperand(O);
1644 // Arbitrarily use I0 as the new "common" instruction; remap its operands
1646 for (unsigned O = 0, E = I0->getNumOperands(); O != E; ++O)
1647 I0->getOperandUse(O).set(NewOperands[O]);
1648 I0->moveBefore(&*BBEnd->getFirstInsertionPt());
1652 if (I != I0) {
1657 // This is an N-way merge, which will be inefficient if I0 is a CallInst.
1660 I0->applyMergedLocation(I0->getDebugLoc(), I->getDebugLoc());
1661 combineMetadataForCSE(I0, I, true);
1662 I0->andIRFlags(I);
1665 if (!I0->user_empty()) {
1669 auto *PN = cast<PHINode>(*I0->user_begin());
1670 PN->replaceAllUsesWith(I0);
1676 if (I != I0)