Lines Matching refs:I0

723   Instruction *I0 = NewInsts[0];  in analyzeInstructionForSinking()  local
727 auto hasDifferentNumOperands = [&I0](Instruction *I) { in analyzeInstructionForSinking()
728 return I->getNumOperands() != I0->getNumOperands(); in analyzeInstructionForSinking()
733 for (unsigned OpNum = 0, E = I0->getNumOperands(); OpNum != E; ++OpNum) { in analyzeInstructionForSinking()
737 if (!canReplaceOperandWithVariable(I0, OpNum)) in analyzeInstructionForSinking()
745 if ((isa<CallInst>(I0) || isa<InvokeInst>(I0)) && OpNum == E - 1 && in analyzeInstructionForSinking()
840 Instruction *I0 = Insts.front(); in sinkLastInstruction() local
843 for (unsigned O = 0, E = I0->getNumOperands(); O != E; ++O) { in sinkLastInstruction()
844 bool NeedPHI = llvm::any_of(Insts, [&I0, O](const Instruction *I) { in sinkLastInstruction()
845 return I->getOperand(O) != I0->getOperand(O); in sinkLastInstruction()
848 NewOperands.push_back(I0->getOperand(O)); in sinkLastInstruction()
853 auto *Op = I0->getOperand(O); in sinkLastInstruction()
864 for (unsigned O = 0, E = I0->getNumOperands(); O != E; ++O) in sinkLastInstruction()
865 I0->getOperandUse(O).set(NewOperands[O]); in sinkLastInstruction()
866 I0->moveBefore(&*BBEnd->getFirstInsertionPt()); in sinkLastInstruction()
870 if (I != I0) { in sinkLastInstruction()
871 combineMetadataForCSE(I0, I, true); in sinkLastInstruction()
872 I0->andIRFlags(I); in sinkLastInstruction()
876 if (I != I0) in sinkLastInstruction()
877 I->replaceAllUsesWith(I0); in sinkLastInstruction()
882 if (I != I0) in sinkLastInstruction()