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

12345

/freebsd-10-stable/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:__anon2735::LoweredPHIRecord
634 PHINode *PN = PHIsToSlice[PHIId]; local
704 PHINode *PN = PHIsToSlice[PHIId]; local
792 visitPHINode(PHINode &PN) argument
[all...]
/freebsd-10-stable/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-stable/contrib/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp274 PHINode *PN; local
276 (PN = dyn_cast<PHINode>(I++)); )
277 if (Value *V = SimplifyInstruction(PN, 0, 0, DT)) {
278 if (AA) AA->deleteValue(PN);
279 if (SE) SE->forgetValue(PN);
280 PN->replaceAllUsesWith(V);
281 PN->eraseFromParent();
472 PHINode *PN = cast<PHINode>(I); local
474 if (Value *V = SimplifyInstruction(PN, 0, 0, DT)) {
476 PN
557 PHINode *PN = FindPHIToPartitionLoops(L, DT, AA, LI); local
695 PHINode *PN = cast<PHINode>(I); 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.cpp189 if (PHINode *PN = dyn_cast<PHINode>(U))
190 UserBB = PN->getIncomingBlock(UI);
226 PHINode *PN = PHINode::Create(Inst->getType(), local
233 PN->addIncoming(Inst, *PI);
240 &PN->getOperandUse(
241 PN->getOperandNumForIncomingValue(PN->getNumIncomingValues()-1)));
244 AddedPHIs.push_back(PN);
247 SSAUpdate.AddAvailableValue(ExitBB, PN);
259 if (PHINode *PN
[all...]
H A DLocal.cpp373 bool llvm::RecursivelyDeleteDeadPHINode(PHINode *PN, argument
376 for (Instruction *I = PN; areAllUsesEqual(I) && !I->mayHaveSideEffects();
457 while (PHINode *PN = dyn_cast<PHINode>(PhiIt)) {
461 if (!recursivelySimplifyInstruction(PN, TD))
479 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) {
480 Value *NewVal = PN->getIncomingValue(0);
482 if (NewVal == PN) NewVal = UndefValue::get(PN->getType());
483 PN->replaceAllUsesWith(NewVal);
484 PN
547 PHINode *PN = cast<PHINode>(I); local
627 gatherIncomingValuesToPhi(PHINode *PN, IncomingValueMap &IncomingValues) argument
643 replaceUndefValuesInPhi(PHINode *PN, const IncomingValueMap &IncomingValues) argument
665 redirectValuesFromPredecessorsToPhi(BasicBlock *BB, const PredBlockVector &BBPreds, PHINode *PN) argument
775 PHINode *PN = cast<PHINode>(I); local
[all...]
H A DBreakCriticalEdges.cpp100 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
101 unsigned Idx = PN->getBasicBlockIndex(SplitBB);
102 Value *V = PN->getIncomingValue(Idx);
112 PHINode::Create(PN->getType(), Preds.size(), "split",
119 PN->setIncomingValue(Idx, NewPN);
179 PHINode *PN = cast<PHINode>(I); local
186 if (PN->getIncomingBlock(BBIdx) != TIBB)
187 BBIdx = PN->getBasicBlockIndex(TIBB);
188 PN->setIncomingBlock(BBIdx, NewBB);
228 if (PHINode *PN
[all...]
H A DCloneFunction.cpp411 if (const PHINode *PN = dyn_cast<PHINode>(I))
412 PHIToResolve.push_back(PN);
435 PHINode *PN = cast<PHINode>(VMap[OPN]); local
437 Value *V = VMap[PN->getIncomingBlock(pred)];
439 Value *InVal = MapValue(PN->getIncomingValue(pred),
443 PN->setIncomingValue(pred, InVal);
444 PN->setIncomingBlock(pred, MappedBlock);
446 PN->removeIncomingValue(pred, false);
457 PHINode *PN = cast<PHINode>(NewBB->begin()); local
459 if (NumPreds != PN
[all...]
H A DDemoteRegToStack.cpp45 if (PHINode *PN = dyn_cast<PHINode>(U)) {
56 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
57 if (PN->getIncomingValue(i) == &I) {
58 Value *&V = Loads[PN->getIncomingBlock(i)];
62 PN->getIncomingBlock(i)->getTerminator());
64 PN->setIncomingValue(i, V);
H A DBasicBlockUtils.cpp78 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) {
79 if (PN->getIncomingValue(0) != PN)
80 PN->replaceAllUsesWith(PN->getIncomingValue(0));
82 PN->replaceAllUsesWith(UndefValue::get(PN->getType()));
85 MemDep->removeInstruction(PN); // Memdep updates AA itself.
86 else if (AA && isa<PointerType>(PN->getType()))
87 AA->deleteValue(PN);
385 PHINode *PN = cast<PHINode>(I++); local
576 PHINode *PN = PHINode::Create(LPad->getType(), 2, "lpad.phi", LPad); local
[all...]
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
742 PHINode *PN = cast<PHINode>(I); local
755 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.cpp135 PHINode *PN = cast<PHINode>(BBI); local
136 if (PN->getIncomingValueForBlock(SI1BB) !=
137 PN->getIncomingValueForBlock(SI2BB))
176 PHINode *PN = cast<PHINode>(BBI); local
177 if (PN->getIncomingValueForBlock(SI1BB) != Cond ||
178 !isa<ConstantInt>(PN->getIncomingValueForBlock(SI2BB)))
180 PhiNodes.push_back(PN);
193 PHINode *PN;
195 (PN = dyn_cast<PHINode>(I)); ++I)
196 PN
986 PHINode *PN; local
1068 PHINode *PN; local
1099 PHINode *PN; local
1610 PHINode *PN = dyn_cast<PHINode>(BI->getCondition()); local
1706 FoldTwoEntryPHINode(PHINode *PN, const DataLayout *TD) argument
1739 PHINode *PN = cast<PHINode>(II++); local
2465 PHINode *PN; local
2832 PHINode *PN = cast<PHINode>(BBI); local
[all...]
H A DLowerSwitch.cpp219 PHINode* PN = cast<PHINode>(I); local
224 PN->removeIncomingValue(OrigBlock);
227 int BlockIdx = PN->getBasicBlockIndex(OrigBlock);
229 PN->setIncomingBlock((unsigned)BlockIdx, NewLeaf);
300 PHINode *PN = cast<PHINode>(I); local
301 int BlockIdx = PN->getBasicBlockIndex(OrigBlock);
303 PN->setIncomingBlock((unsigned)BlockIdx, NewDefault);
/freebsd-10-stable/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
/freebsd-10-stable/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-stable/contrib/llvm/lib/Target/XCore/
H A DXCoreLowerThreadLocal.cpp138 if (PHINode *PN = dyn_cast<PHINode>(WU)) {
139 for (int I = 0, E = PN->getNumIncomingValues(); I < E; ++I)
140 if (PN->getIncomingValue(I) == CE) {
141 BasicBlock *PredBB = PN->getIncomingBlock(I);
143 PredBB = SplitEdge(PredBB, PN->getParent(), P);
146 PN->setOperand(I, NewInst);
/freebsd-10-stable/contrib/llvm/lib/CodeGen/SelectionDAG/
H A DFunctionLoweringInfo.cpp198 const PHINode *PN = dyn_cast<PHINode>(I); ++I) {
199 if (PN->use_empty()) continue;
202 if (PN->getType()->isEmptyTy())
205 DebugLoc DL = PN->getDebugLoc();
206 unsigned PHIReg = ValueMap[PN];
210 ComputeValueVTs(*TLI, PN->getType(), ValueVTs);
307 void FunctionLoweringInfo::ComputePHILiveOutRegInfo(const PHINode *PN) { argument
308 Type *Ty = PN->getType();
320 if (TLI->getNumRegisters(PN->getContext(), IntVT) != 1)
322 IntVT = TLI->getTypeToTransformTo(PN
[all...]
/freebsd-10-stable/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.cpp129 bool ProcessBranchOnPHI(PHINode *PN);
379 if (PHINode *PN = dyn_cast<PHINode>(I)) {
380 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
381 Value *InVal = PN->getIncomingValue(i);
383 Result.push_back(std::make_pair(KC, PN->getIncomingBlock(i)));
386 PN->getIncomingBlock(i), BB);
388 Result.push_back(std::make_pair(KC, PN->getIncomingBlock(i)));
484 PHINode *PN = dyn_cast<PHINode>(Cmp->getOperand(0)); local
485 if (PN && PN
984 PHINode *PN = PHINode::Create(LI->getType(), std::distance(PB, PE), "", local
1182 ProcessBranchOnPHI(PHINode *PN) argument
[all...]
/freebsd-10-stable/contrib/llvm/include/llvm/Analysis/
H A DScalarEvolutionExpander.h188 void setChainedPhi(PHINode *PN) { ChainedPhis.insert(PN); } argument
255 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
257 bool isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
264 Value *expandIVInc(PHINode *PN, Value *StepV, const Loop *L,

Completed in 199 milliseconds

12345