Lines Matching defs:OrigInst
101 /// For example, if \p OrigInst is defined in "else_bb" and \p NewInst is
107 static void createRetPHINode(Instruction *OrigInst, Instruction *NewInst,
110 if (OrigInst->getType()->isVoidTy() || OrigInst->use_empty())
114 PHINode *Phi = Builder.CreatePHI(OrigInst->getType(), 0);
116 for (User *U : OrigInst->users())
119 U->replaceUsesOfWith(OrigInst, Phi);
120 Phi->addIncoming(OrigInst, OrigInst->getParent());
290 CallBase *OrigInst = &CB;
291 BasicBlock *OrigBlock = OrigInst->getParent();
299 if (OrigInst->isMustTailCall()) {
306 CallBase *NewInst = cast<CallBase>(OrigInst->clone());
311 auto Next = OrigInst->getNextNode();
313 assert(BitCast->getOperand(0) == OrigInst &&
316 NewBitCast->replaceUsesOfWith(OrigInst, NewInst);
345 BasicBlock *MergeBlock = OrigInst->getParent();
351 CallBase *NewInst = cast<CallBase>(OrigInst->clone());
352 OrigInst->moveBefore(ElseTerm);
358 if (auto *OrigInvoke = dyn_cast<InvokeInst>(OrigInst)) {
381 createRetPHINode(OrigInst, NewInst, MergeBlock, Builder);