Searched refs:PN (Results 1 - 25 of 106) sorted by relevance

12345

/freebsd-10.0-release/contrib/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp24 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 DBasicBlock.cpp250 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 DDominators.cpp222 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 DLoopSimplify.cpp273 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 DBasicBlockUtils.cpp77 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 DUnifyFunctionExitNodes.cpp94 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 DLCSSA.cpp198 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 DLocal.cpp376 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 DBreakCriticalEdges.cpp134 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 DCloneFunction.cpp410 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 DDemoteRegToStack.cpp44 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 DLoopUnrollRuntime.cpp71 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 DCodeExtractor.cpp192 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 DLoopUnroll.cpp50 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 DSimplifyCFG.cpp133 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 DLowerSwitch.cpp207 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 DSparsePropagation.cpp229 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 DScalarEvolutionNormalization.cpp47 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 DScalarEvolutionExpander.cpp863 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 DProvenanceAnalysis.cpp150 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 DFunctionLoweringInfo.cpp158 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 DIndVarSimplify.cpp241 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 DLoopRotation.cpp107 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 DJumpThreading.cpp128 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 DScalarEvolutionExpander.h188 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,

Completed in 357 milliseconds

12345