Lines Matching defs:S1
115 PHINode *getPHIOperand(BasicBlock *BB, StoreInst *S0, StoreInst *S1);
118 bool canSinkStoresAndGEPs(StoreInst *S0, StoreInst *S1) const;
209 /// Create a PHI node in BB for the operands of S0 and S1
212 StoreInst *S1) {
215 Value *Opd2 = S1->getValueOperand();
221 NewPN->applyMergedLocation(S0->getDebugLoc(), S1->getDebugLoc());
223 NewPN->addIncoming(Opd2, S1->getParent());
231 StoreInst *S1) const {
232 if (S0->getPointerOperand() == S1->getPointerOperand())
235 auto *GEP1 = dyn_cast<GetElementPtrInst>(S1->getPointerOperand());
238 (GEP1->getParent() == S1->getParent());
247 StoreInst *S1) {
249 Value *Ptr1 = S1->getPointerOperand();
253 dbgs() << "Instruction Right\n"; S1->dump(); dbgs() << "\n");
257 S0->andIRFlags(S1);
259 S0->applyMergedLocation(S0->getDebugLoc(), S1->getDebugLoc());
260 S0->mergeDIAssignID(S1);
266 S1->getValueOperand()->getType());
273 if (PHINode *NewPN = getPHIOperand(BB, S0, S1))
276 S1->eraseFromParent();
336 if (StoreInst *S1 = canSinkFromBlock(Pred1, S0)) {
337 if (!canSinkStoresAndGEPs(S0, S1))
353 sinkStoresAndGEPs(SinkBB, S0, S1);