/freebsd-10.0-release/contrib/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombinePHI.cpp | 24 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { argument 25 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); 44 for (unsigned i = 1; i != PN.getNumIncomingValues(); ++i) { 45 Instruction *I = dyn_cast<Instruction>(PN.getIncomingValue(i)); 83 NewLHS = PHINode::Create(LHSType, PN.getNumIncomingValues(), 85 NewLHS->addIncoming(InLHS, PN.getIncomingBlock(0)); 86 InsertNewInstBefore(NewLHS, PN); 91 NewRHS = PHINode::Create(RHSType, PN.getNumIncomingValues(), 93 NewRHS->addIncoming(InRHS, PN.getIncomingBlock(0)); 94 InsertNewInstBefore(NewRHS, PN); 130 FoldPHIArgGEPIntoPHI(PHINode &PN) argument 287 FoldPHIArgLoadIntoPHI(PHINode &PN) argument 391 FoldPHIArgOpIntoPHI(PHINode &PN) argument 508 DeadPHICycle(PHINode *PN, SmallPtrSet<PHINode*, 16> &PotentiallyDeadPHIs) argument 530 PHIsEqualValue(PHINode *PN, Value *NonPhiInVal, SmallPtrSet<PHINode*, 16> &ValueEqualPHIs) argument 575 PHINode *PN; // The PHI that was lowered. member in struct:__anon2594::LoweredPHIRecord 636 PHINode *PN = PHIsToSlice[PHIId]; local 706 PHINode *PN = PHIsToSlice[PHIId]; local 794 visitPHINode(PHINode &PN) argument [all...] |
/freebsd-10.0-release/contrib/llvm/lib/IR/ |
H A D | BasicBlock.cpp | 250 while (PHINode *PN = dyn_cast<PHINode>(&front())) { 252 PN->removeIncomingValue(Pred, !DontDeleteUselessPHIs); 256 if (PN->getIncomingValue(0) != PN) 257 PN->replaceAllUsesWith(PN->getIncomingValue(0)); 260 PN->replaceAllUsesWith(UndefValue::get(PN->getType())); 270 PHINode *PN; local 271 for (iterator II = begin(); (PN 324 PHINode *PN; local 348 PHINode *PN = dyn_cast<PHINode>(II); local [all...] |
H A D | Dominators.cpp | 222 PHINode *PN = dyn_cast<PHINode>(UserInst); local 223 if (PN && PN->getParent() == BBE.getEnd() && 224 PN->getIncomingBlock(U) == BBE.getStart()) 230 if (PN) 231 UseBB = PN->getIncomingBlock(U); 246 if (PHINode *PN = dyn_cast<PHINode>(UserInst)) 247 UseBB = PN->getIncomingBlock(U); 297 if (PHINode *PN = dyn_cast<PHINode>(I)) 298 return isReachableFromEntry(PN [all...] |
/freebsd-10.0-release/contrib/llvm/lib/Transforms/Utils/ |
H A D | LoopSimplify.cpp | 273 PHINode *PN; local 275 (PN = dyn_cast<PHINode>(I++)); ) 276 if (Value *V = SimplifyInstruction(PN, 0, 0, DT)) { 277 if (AA) AA->deleteValue(PN); 278 if (SE) SE->forgetValue(PN); 279 PN->replaceAllUsesWith(V); 280 PN->eraseFromParent(); 471 PHINode *PN = cast<PHINode>(I); local 473 if (Value *V = SimplifyInstruction(PN, 0, 0, DT)) { 475 PN 556 PHINode *PN = FindPHIToPartitionLoops(L, DT, AA, LI); local 694 PHINode *PN = cast<PHINode>(I); local [all...] |
H A D | BasicBlockUtils.cpp | 77 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { 78 if (PN->getIncomingValue(0) != PN) 79 PN->replaceAllUsesWith(PN->getIncomingValue(0)); 81 PN->replaceAllUsesWith(UndefValue::get(PN->getType())); 84 MemDep->removeInstruction(PN); // Memdep updates AA itself. 85 else if (AA && isa<PointerType>(PN->getType())) 86 AA->deleteValue(PN); 401 PHINode *PN = cast<PHINode>(I++); local 588 PHINode *PN = PHINode::Create(LPad->getType(), 2, "lpad.phi", LPad); local [all...] |
H A D | UnifyFunctionExitNodes.cpp | 94 PHINode *PN = 0; local 99 PN = PHINode::Create(F.getReturnType(), ReturningBlocks.size(), 101 NewRetBlock->getInstList().push_back(PN); 102 ReturnInst::Create(F.getContext(), PN, NewRetBlock); 114 if (PN) 115 PN->addIncoming(BB->getTerminator()->getOperand(0), BB);
|
H A D | LCSSA.cpp | 198 if (PHINode *PN = dyn_cast<PHINode>(U)) 199 UserBB = PN->getIncomingBlock(UI); 235 PHINode *PN = PHINode::Create(Inst->getType(), local 242 PN->addIncoming(Inst, *PI); 249 &PN->getOperandUse( 250 PN->getOperandNumForIncomingValue(PN->getNumIncomingValues()-1))); 253 AddedPHIs.push_back(PN); 256 SSAUpdate.AddAvailableValue(ExitBB, PN); 268 if (PHINode *PN [all...] |
H A D | Local.cpp | 376 bool llvm::RecursivelyDeleteDeadPHINode(PHINode *PN, argument 379 for (Instruction *I = PN; areAllUsesEqual(I) && !I->mayHaveSideEffects(); 460 while (PHINode *PN = dyn_cast<PHINode>(PhiIt)) { 464 if (!recursivelySimplifyInstruction(PN, TD)) 482 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { 483 Value *NewVal = PN->getIncomingValue(0); 485 if (NewVal == PN) NewVal = UndefValue::get(PN->getType()); 486 PN->replaceAllUsesWith(NewVal); 487 PN 548 PHINode *PN = cast<PHINode>(I); local 641 PHINode *PN = cast<PHINode>(I); local [all...] |
H A D | BreakCriticalEdges.cpp | 134 PHINode *PN = dyn_cast<PHINode>(I); ++I) { 135 unsigned Idx = PN->getBasicBlockIndex(SplitBB); 136 Value *V = PN->getIncomingValue(Idx); 146 PHINode::Create(PN->getType(), Preds.size(), "split", 153 PN->setIncomingValue(Idx, NewPN); 213 PHINode *PN = cast<PHINode>(I); local 220 if (PN->getIncomingBlock(BBIdx) != TIBB) 221 BBIdx = PN->getBasicBlockIndex(TIBB); 222 PN->setIncomingBlock(BBIdx, NewBB); 263 if (PHINode *PN [all...] |
H A D | CloneFunction.cpp | 410 if (const PHINode *PN = dyn_cast<PHINode>(I)) 411 PHIToResolve.push_back(PN); 434 PHINode *PN = cast<PHINode>(VMap[OPN]); local 436 Value *V = VMap[PN->getIncomingBlock(pred)]; 438 Value *InVal = MapValue(PN->getIncomingValue(pred), 442 PN->setIncomingValue(pred, InVal); 443 PN->setIncomingBlock(pred, MappedBlock); 445 PN->removeIncomingValue(pred, false); 456 PHINode *PN = cast<PHINode>(NewBB->begin()); local 458 if (NumPreds != PN [all...] |
H A D | DemoteRegToStack.cpp | 44 if (PHINode *PN = dyn_cast<PHINode>(U)) { 55 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 56 if (PN->getIncomingValue(i) == &I) { 57 Value *&V = Loads[PN->getIncomingBlock(i)]; 61 PN->getIncomingBlock(i)->getTerminator()); 63 PN->setIncomingValue(i, V);
|
H A D | LoopUnrollRuntime.cpp | 71 PHINode *PN = dyn_cast<PHINode>(BBI); ++BBI) { 75 PHINode *NewPN = PHINode::Create(PN->getType(), 2, PN->getName()+".unr", 79 if (L->contains(PN)) { 80 NewPN->addIncoming(PN->getIncomingValueForBlock(NewPH), OrigPH); 82 NewPN->addIncoming(Constant::getNullValue(PN->getType()), OrigPH); 85 Value *V = PN->getIncomingValueForBlock(Latch); 98 if (L->contains(PN)) { 99 PN->setIncomingValue(PN [all...] |
H A D | CodeExtractor.cpp | 192 PHINode *PN = dyn_cast<PHINode>(Header->begin()); local 193 if (!PN) return; // No PHI nodes. 198 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 199 if (Blocks.count(PN->getIncomingBlock(i))) 232 PHINode *PN = cast<PHINode>(OldPred->begin()); local 235 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 236 if (Blocks.count(PN->getIncomingBlock(i))) { 237 TerminatorInst *TI = PN->getIncomingBlock(i)->getTerminator(); 244 PHINode *PN = cast<PHINode>(AfterPHIs); local 246 // from OldPred of PN 743 PHINode *PN = cast<PHINode>(I); local 756 PHINode *PN = cast<PHINode>(I); local [all...] |
H A D | LoopUnroll.cpp | 50 if (PHINode *PN = dyn_cast<PHINode>(I)) { 51 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) { 52 ValueToValueMapTy::iterator It = VMap.find(PN->getIncomingBlock(i)); 54 PN->setIncomingBlock(i, cast<BasicBlock>(It->second)); 332 PHINode *PN = OrigPHINode[i]; local 334 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader)); 335 Header->getInstList().erase(PN); 338 Value *InVal = PN->removeIncomingValue(LatchBlock, false); 346 PN [all...] |
H A D | SimplifyCFG.cpp | 133 PHINode *PN = cast<PHINode>(BBI); local 134 if (PN->getIncomingValueForBlock(SI1BB) != 135 PN->getIncomingValueForBlock(SI2BB)) 174 PHINode *PN = cast<PHINode>(BBI); local 175 if (PN->getIncomingValueForBlock(SI1BB) != Cond || 176 !isa<ConstantInt>(PN->getIncomingValueForBlock(SI2BB))) 178 PhiNodes.push_back(PN); 191 PHINode *PN; 193 (PN = dyn_cast<PHINode>(I)); ++I) 194 PN 1044 PHINode *PN; local 1140 PHINode *PN; local 1633 PHINode *PN = dyn_cast<PHINode>(BI->getCondition()); local 1727 FoldTwoEntryPHINode(PHINode *PN, const DataLayout *TD) argument 1760 PHINode *PN = cast<PHINode>(II++); local 2481 PHINode *PN; local 2848 PHINode *PN = cast<PHINode>(BBI); local [all...] |
H A D | LowerSwitch.cpp | 207 PHINode* PN = cast<PHINode>(I); local 212 PN->removeIncomingValue(OrigBlock); 215 int BlockIdx = PN->getBasicBlockIndex(OrigBlock); 217 PN->setIncomingBlock((unsigned)BlockIdx, NewLeaf); 282 PHINode *PN = cast<PHINode>(I); local 283 int BlockIdx = PN->getBasicBlockIndex(OrigBlock); 285 PN->setIncomingBlock((unsigned)BlockIdx, NewDefault);
|
/freebsd-10.0-release/contrib/llvm/lib/Analysis/ |
H A D | SparsePropagation.cpp | 229 void SparseSolver::visitPHINode(PHINode &PN) { argument 233 if (LatticeFunc->IsSpecialCasedPHI(&PN)) { 234 LatticeVal IV = LatticeFunc->ComputeInstructionState(PN, *this); 236 UpdateState(PN, IV); 240 LatticeVal PNIV = getOrInitValueState(&PN); 249 if (PN.getNumIncomingValues() > 64) { 250 UpdateState(PN, Overdefined); 257 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i) { 259 if (!isEdgeFeasible(PN.getIncomingBlock(i), PN [all...] |
H A D | ScalarEvolutionNormalization.cpp | 47 PHINode *PN = dyn_cast<PHINode>(User); 48 if (!PN || !Operand) return false; // not a phi, not dominated by latch block. 53 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 54 if (PN->getIncomingValue(i) == Operand && 55 !DT->dominates(LatchBlock, PN->getIncomingBlock(i))) 58 // Okay, all uses of Operand by PN are in predecessor blocks that really are
|
H A D | ScalarEvolutionExpander.cpp | 863 bool SCEVExpander::isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, argument 886 if (IncV != PN) 889 return isNormalAddRecExprPHI(PN, IncV, L); 986 bool SCEVExpander::isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV, argument 991 if (IVOper == PN) 1000 Value *SCEVExpander::expandIVInc(PHINode *PN, Value *StepV, const Loop *L, argument 1013 IncV = expandAddToGEP(StepArray, StepArray+1, GEPPtrTy, IntTy, PN); 1014 if (IncV->getType() != PN->getType()) { 1015 IncV = Builder.CreateBitCast(IncV, PN->getType()); 1020 Builder.CreateSub(PN, Step 1119 PHINode *PN = Builder.CreatePHI(ExpandTy, std::distance(HPB, HPE), local 1204 PHINode *PN = getAddRecExprPHILiterally(Normalized, L, ExpandTy, IntTy); local [all...] |
/freebsd-10.0-release/contrib/llvm/lib/Transforms/ObjCARC/ |
H A D | ProvenanceAnalysis.cpp | 150 if (const PHINode *PN = dyn_cast<PHINode>(A)) 151 return relatedPHI(PN, B); 152 if (const PHINode *PN = dyn_cast<PHINode>(B)) 153 return relatedPHI(PN, A);
|
/freebsd-10.0-release/contrib/llvm/lib/CodeGen/SelectionDAG/ |
H A D | FunctionLoweringInfo.cpp | 158 const PHINode *PN = dyn_cast<PHINode>(I); ++I) { 159 if (PN->use_empty()) continue; 162 if (PN->getType()->isEmptyTy()) 165 DebugLoc DL = PN->getDebugLoc(); 166 unsigned PHIReg = ValueMap[PN]; 170 ComputeValueVTs(TLI, PN->getType(), ValueVTs); 264 void FunctionLoweringInfo::ComputePHILiveOutRegInfo(const PHINode *PN) { argument 265 Type *Ty = PN->getType(); 275 if (TLI.getNumRegisters(PN->getContext(), IntVT) != 1) 277 IntVT = TLI.getTypeToTransformTo(PN [all...] |
/freebsd-10.0-release/contrib/llvm/lib/Transforms/Scalar/ |
H A D | IndVarSimplify.cpp | 241 void IndVarSimplify::HandleFloatingPointIV(Loop *L, PHINode *PN) { argument 242 unsigned IncomingEdge = L->contains(PN->getIncomingBlock(0)); 247 dyn_cast<ConstantFP>(PN->getIncomingValue(IncomingEdge)); 253 // Check IV increment. Reject this PN if increment operation is not 256 dyn_cast<BinaryOperator>(PN->getIncomingValue(BackEdge)); 263 if (IncValueVal == 0 || Incr->getOperand(0) != PN || 267 // Check Incr uses. One user is PN and the other user is an exit condition 393 IntegerType *Int32Ty = Type::getInt32Ty(PN->getContext()); 396 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); 492 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); local [all...] |
H A D | LoopRotation.cpp | 107 for (I = OrigHeader->begin(); PHINode *PN = dyn_cast<PHINode>(I); ++I) 108 PN->removeIncomingValue(PN->getBasicBlockIndex(OrigPreheader)); 351 for (; PHINode *PN = dyn_cast<PHINode>(I); ++I) 352 ValueMap[PN] = PN->getIncomingValueForBlock(OrigPreheader); 404 PHINode *PN = dyn_cast<PHINode>(BI); ++BI) 405 PN->addIncoming(PN->getIncomingValueForBlock(OrigHeader), OrigPreheader);
|
H A D | JumpThreading.cpp | 128 bool ProcessBranchOnPHI(PHINode *PN); 377 if (PHINode *PN = dyn_cast<PHINode>(I)) { 378 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) { 379 Value *InVal = PN->getIncomingValue(i); 381 Result.push_back(std::make_pair(KC, PN->getIncomingBlock(i))); 384 PN->getIncomingBlock(i), BB); 386 Result.push_back(std::make_pair(KC, PN->getIncomingBlock(i))); 482 PHINode *PN = dyn_cast<PHINode>(Cmp->getOperand(0)); local 483 if (PN && PN 973 PHINode *PN = PHINode::Create(LI->getType(), std::distance(PB, PE), "", local 1171 ProcessBranchOnPHI(PHINode *PN) argument [all...] |
/freebsd-10.0-release/contrib/llvm/include/llvm/Analysis/ |
H A D | ScalarEvolutionExpander.h | 188 void setChainedPhi(PHINode *PN) { ChainedPhis.insert(PN); } argument 257 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L); 259 bool isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L); 266 Value *expandIVInc(PHINode *PN, Value *StepV, const Loop *L,
|