Lines Matching defs:SIUse
123 PHINode *SIUse;
126 SelectInstToUnfold(SelectInst *SI, PHINode *SIUse) : SI(SI), SIUse(SIUse) {}
129 PHINode *getUse() { return SIUse; }
131 explicit operator bool() const { return SI && SIUse; }
182 DomTreeUpdater *DTU, SelectInst *SI, PHINode *SIUse, SelectInst *SIToSink,
194 NewSIsToUnfold->push_back(SelectInstToUnfold(SIToSink, SIUse));
209 PHINode *SIUse = SIToUnfold.getUse();
211 BasicBlock *EndBlock = SIUse->getParent();
227 createBasicBlockAndSinkSelectInst(DTU, SI, SIUse, SIOp, EndBlock,
232 createBasicBlockAndSinkSelectInst(DTU, SI, SIUse, SIOp, EndBlock,
260 SIUse->addIncoming(SI->getTrueValue(), TrueBlock);
261 SIUse->addIncoming(SI->getFalseValue(), FalseBlock);
265 if (&Phi != SIUse) {
293 for (unsigned Idx = 0; Idx < SIUse->getNumIncomingValues(); ++Idx) {
294 if (SIUse->getIncomingBlock(Idx) == StartBlock)
295 SIUse->setIncomingValue(Idx, SIOp1);
297 SIUse->addIncoming(SIOp2, NewBlock);
302 if (Phi != SIUse)
496 Instruction *SIUse = dyn_cast<Instruction>(SI->user_back());
498 if (!SIUse && !(isa<PHINode>(SIUse) || isa<SelectInst>(SIUse)))
510 PHINode *PHIUser = dyn_cast<PHINode>(SIUse);