Home | History | Annotate | Download | only in Scalar

Lines Matching defs:PN

1181 static bool isSafePHIToSpeculate(PHINode *PN, const DataLayout *DL) {
1186 BasicBlock *BB = PN->getParent();
1188 for (User *U : PN->users()) {
1198 for (BasicBlock::iterator BBI = PN; &*BBI != LI; ++BBI)
1209 PN->getNumIncomingValues(); i != e; ++i) {
1210 BasicBlock *Pred = PN->getIncomingBlock(i);
1211 Value *InVal = PN->getIncomingValue(i);
1282 if (PHINode *PN = dyn_cast<PHINode>(U)) {
1283 if (PN->use_empty()) { // Dead PHIs can be stripped.
1284 InstsToRewrite.insert(PN);
1290 if (!isSafePHIToSpeculate(PN, DL))
1293 InstsToRewrite.insert(PN);
1357 PHINode *PN = cast<PHINode>(InstsToRewrite[i]);
1358 if (PN->use_empty()) {
1359 PN->eraseFromParent();
1363 Type *LoadTy = cast<PointerType>(PN->getType())->getElementType();
1364 PHINode *NewPN = PHINode::Create(LoadTy, PN->getNumIncomingValues(),
1365 PN->getName()+".ld", PN);
1369 LoadInst *SomeLoad = cast<LoadInst>(PN->user_back());
1373 // Rewrite all loads of the PN to use the new PHI.
1374 while (!PN->use_empty()) {
1375 LoadInst *LI = cast<LoadInst>(PN->user_back());
1384 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
1385 BasicBlock *Pred = PN->getIncomingBlock(i);
1388 Load = new LoadInst(PN->getIncomingValue(i),
1389 PN->getName() + "." + Pred->getName(),
1398 PN->eraseFromParent();
1660 if (PHINode *PN = dyn_cast<PHINode>(I))
1661 if (!Info.CheckedPHIs.insert(PN))