• Home
  • Raw
  • Download

Lines Matching refs:PN

241 void IndVarSimplify::HandleFloatingPointIV(Loop *L, PHINode *PN) {  in HandleFloatingPointIV()  argument
242 unsigned IncomingEdge = L->contains(PN->getIncomingBlock(0)); in HandleFloatingPointIV()
247 dyn_cast<ConstantFP>(PN->getIncomingValue(IncomingEdge)); in HandleFloatingPointIV()
256 dyn_cast<BinaryOperator>(PN->getIncomingValue(BackEdge)); in HandleFloatingPointIV()
263 if (IncValueVal == 0 || Incr->getOperand(0) != PN || in HandleFloatingPointIV()
393 IntegerType *Int32Ty = Type::getInt32Ty(PN->getContext()); in HandleFloatingPointIV()
396 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); in HandleFloatingPointIV()
398 PN->getIncomingBlock(IncomingEdge)); in HandleFloatingPointIV()
403 NewPHI->addIncoming(NewAdd, PN->getIncomingBlock(BackEdge)); in HandleFloatingPointIV()
411 WeakVH WeakPH = PN; in HandleFloatingPointIV()
431 Value *Conv = new SIToFPInst(NewPHI, PN->getType(), "indvar.conv", in HandleFloatingPointIV()
432 PN->getParent()->getFirstInsertionPt()); in HandleFloatingPointIV()
433 PN->replaceAllUsesWith(Conv); in HandleFloatingPointIV()
434 RecursivelyDeleteTriviallyDeadInstructions(PN, TLI); in HandleFloatingPointIV()
448 PHINode *PN = dyn_cast<PHINode>(I); ++I) in RewriteNonIntegerIVs()
449 PHIs.push_back(PN); in RewriteNonIntegerIVs()
452 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHIs[i])) in RewriteNonIntegerIVs() local
453 HandleFloatingPointIV(L, PN); in RewriteNonIntegerIVs()
492 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); in RewriteLoopExitValues() local
493 if (!PN) continue; in RewriteLoopExitValues()
495 unsigned NumPreds = PN->getNumIncomingValues(); in RewriteLoopExitValues()
499 while ((PN = dyn_cast<PHINode>(BBI++))) { in RewriteLoopExitValues()
500 if (PN->use_empty()) in RewriteLoopExitValues()
504 if (!PN->getType()->isIntegerTy() && !PN->getType()->isPointerTy()) in RewriteLoopExitValues()
512 SE->forgetValue(PN); in RewriteLoopExitValues()
518 Value *InVal = PN->getIncomingValue(i); in RewriteLoopExitValues()
523 if (LI->getLoopFor(PN->getIncomingBlock(i)) != L) in RewriteLoopExitValues()
577 Value *ExitVal = Rewriter.expandCodeFor(ExitValue, PN->getType(), Inst); in RewriteLoopExitValues()
589 PN->setIncomingValue(i, ExitVal); in RewriteLoopExitValues()
600 PN->replaceAllUsesWith(ExitVal); in RewriteLoopExitValues()
601 PN->eraseFromParent(); in RewriteLoopExitValues()
607 PHINode *NewPN = cast<PHINode>(PN->clone()); in RewriteLoopExitValues()
608 NewPN->takeName(PN); in RewriteLoopExitValues()
609 NewPN->insertBefore(PN); in RewriteLoopExitValues()
610 PN->replaceAllUsesWith(NewPN); in RewriteLoopExitValues()
611 PN->eraseFromParent(); in RewriteLoopExitValues()