Lines Matching refs:I0

1964   const Instruction *I0 = Insts.front();  in canSinkInstructions()  local
1965 const auto I0MMRA = MMRAMetadata(*I0); in canSinkInstructions()
1967 if (!I->isSameOperationAs(I0)) in canSinkInstructions()
1988 for (const Use &U : I0->uses()) { in canSinkInstructions()
2006 if (isa<StoreInst>(I0) && any_of(Insts, [](const Instruction *I) { in canSinkInstructions()
2010 if (isa<LoadInst>(I0) && any_of(Insts, [](const Instruction *I) { in canSinkInstructions()
2014 if (isLifeTimeMarker(I0) && any_of(Insts, [](const Instruction *I) { in canSinkInstructions()
2023 if (isa<CallBase>(I0)) { in canSinkInstructions()
2045 for (unsigned OI = 0, OE = I0->getNumOperands(); OI != OE; ++OI) { in canSinkInstructions()
2046 Value *Op = I0->getOperand(OI); in canSinkInstructions()
2051 auto SameAsI0 = [&I0, OI](const Instruction *I) { in canSinkInstructions()
2052 assert(I->getNumOperands() == I0->getNumOperands()); in canSinkInstructions()
2053 return I->getOperand(OI) == I0->getOperand(OI); in canSinkInstructions()
2056 if ((isa<Constant>(Op) && !replacingOperandWithVariableIsCheap(I0, OI)) || in canSinkInstructions()
2057 !canReplaceOperandWithVariable(I0, OI)) in canSinkInstructions()
2060 auto &Ops = PHIOperands[&I0->getOperandUse(OI)]; in canSinkInstructions()
2089 Instruction *I0 = Insts.front(); in sinkLastInstruction() local
2090 for (unsigned O = 0, E = I0->getNumOperands(); O != E; ++O) { in sinkLastInstruction()
2097 bool NeedPHI = any_of(Insts, [&I0, O](const Instruction *I) { in sinkLastInstruction()
2098 return I->getOperand(O) != I0->getOperand(O); in sinkLastInstruction()
2101 NewOperands.push_back(I0->getOperand(O)); in sinkLastInstruction()
2106 auto *Op = I0->getOperand(O); in sinkLastInstruction()
2118 for (unsigned O = 0, E = I0->getNumOperands(); O != E; ++O) in sinkLastInstruction()
2119 I0->getOperandUse(O).set(NewOperands[O]); in sinkLastInstruction()
2121 I0->moveBefore(*BBEnd, BBEnd->getFirstInsertionPt()); in sinkLastInstruction()
2125 if (I != I0) { in sinkLastInstruction()
2133 I0->applyMergedLocation(I0->getDebugLoc(), I->getDebugLoc()); in sinkLastInstruction()
2134 combineMetadataForCSE(I0, I, true); in sinkLastInstruction()
2135 I0->andIRFlags(I); in sinkLastInstruction()
2138 for (User *U : make_early_inc_range(I0->users())) { in sinkLastInstruction()
2143 PN->replaceAllUsesWith(I0); in sinkLastInstruction()
2149 if (I == I0) in sinkLastInstruction()
2154 I->replaceAllUsesWith(I0); in sinkLastInstruction()