Searched defs:PN (Results 1 - 25 of 70) sorted by relevance

123

/external/llvm/lib/Transforms/Utils/
H A DUnifyFunctionExitNodes.cpp94 PHINode *PN = nullptr; 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 DBreakCriticalEdges.cpp101 PHINode *PN = dyn_cast<PHINode>(I); ++I) {
102 unsigned Idx = PN->getBasicBlockIndex(SplitBB);
103 Value *V = PN->getIncomingValue(Idx);
113 PHINode::Create(PN->getType(), Preds.size(), "split",
120 PN->setIncomingValue(Idx, NewPN);
180 PHINode *PN = cast<PHINode>(I); local
187 if (PN->getIncomingBlock(BBIdx) != TIBB)
188 BBIdx = PN->getBasicBlockIndex(TIBB);
189 PN->setIncomingBlock(BBIdx, NewBB);
231 if (PHINode *PN
[all...]
H A DLCSSA.cpp72 if (PHINode *PN = dyn_cast<PHINode>(User))
73 UserBB = PN->getIncomingBlock(U);
114 PHINode *PN = PHINode::Create(Inst.getType(), PredCache.GetNumPreds(ExitBB), local
119 PN->addIncoming(&Inst, *PI);
126 &PN->getOperandUse(PN->getOperandNumForIncomingValue(
127 PN->getNumIncomingValues() - 1)));
130 AddedPHIs.push_back(PN);
133 SSAUpdate.AddAvailableValue(ExitBB, PN);
145 if (PHINode *PN
[all...]
H A DLoopUnroll.cpp56 if (PHINode *PN = dyn_cast<PHINode>(I)) {
57 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
58 ValueToValueMapTy::iterator It = VMap.find(PN->getIncomingBlock(i));
60 PN->setIncomingBlock(i, cast<BasicBlock>(It->second));
355 PHINode *PN = OrigPHINode[i]; local
357 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader));
358 Header->getInstList().erase(PN);
361 Value *InVal = PN->removeIncomingValue(LatchBlock, false);
369 PN
[all...]
H A DCloneFunction.cpp465 if (const PHINode *PN = dyn_cast<PHINode>(I))
466 PHIToResolve.push_back(PN);
489 PHINode *PN = cast<PHINode>(VMap[OPN]); local
491 Value *V = VMap[PN->getIncomingBlock(pred)];
493 Value *InVal = MapValue(PN->getIncomingValue(pred),
497 PN->setIncomingValue(pred, InVal);
498 PN->setIncomingBlock(pred, MappedBlock);
500 PN->removeIncomingValue(pred, false);
511 PHINode *PN = cast<PHINode>(NewBB->begin()); local
513 if (NumPreds != PN
[all...]
H A DLoopSimplify.cpp214 PHINode *PN = cast<PHINode>(I); local
216 if (Value *V = SimplifyInstruction(PN, nullptr, nullptr, DT)) {
218 PN->replaceAllUsesWith(V);
219 if (AA) AA->deleteValue(PN);
220 PN->eraseFromParent();
225 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
226 if (PN->getIncomingValue(i) == PN &&
227 L->contains(PN->getIncomingBlock(i)))
229 return PN;
264 PHINode *PN = findPHIToPartitionLoops(L, AA, DT); local
399 PHINode *PN = cast<PHINode>(I); local
612 PHINode *PN; local
[all...]
H A DLowerSwitch.cpp272 PHINode* PN = cast<PHINode>(I); local
277 PN->removeIncomingValue(OrigBlock);
280 int BlockIdx = PN->getBasicBlockIndex(OrigBlock);
282 PN->setIncomingBlock((unsigned)BlockIdx, NewLeaf);
360 PHINode *PN = cast<PHINode>(I); local
361 int BlockIdx = PN->getBasicBlockIndex(OrigBlock);
363 PN->setIncomingBlock((unsigned)BlockIdx, NewDefault);
/external/llvm/lib/IR/
H A DDominators.cpp202 PHINode *PN = dyn_cast<PHINode>(UserInst); local
203 if (PN && PN->getParent() == BBE.getEnd() &&
204 PN->getIncomingBlock(U) == BBE.getStart())
210 if (PN)
211 UseBB = PN->getIncomingBlock(U);
225 if (PHINode *PN = dyn_cast<PHINode>(UserInst))
226 UseBB = PN->getIncomingBlock(U);
276 if (PHINode *PN = dyn_cast<PHINode>(I))
277 return isReachableFromEntry(PN
[all...]
H A DBasicBlock.cpp254 while (PHINode *PN = dyn_cast<PHINode>(&front())) {
256 PN->removeIncomingValue(Pred, !DontDeleteUselessPHIs);
260 if (PN->getIncomingValue(0) != PN)
261 PN->replaceAllUsesWith(PN->getIncomingValue(0));
264 PN->replaceAllUsesWith(UndefValue::get(PN->getType()));
274 PHINode *PN; local
275 for (iterator II = begin(); (PN
328 PHINode *PN; local
352 PHINode *PN = dyn_cast<PHINode>(II); local
[all...]
H A DInstruction.cpp388 const PHINode *PN = dyn_cast<PHINode>(I); local
389 if (!PN) {
395 if (PN->getIncomingBlock(U) != BB)
H A DValue.cpp563 PHINode *PN = dyn_cast<PHINode>(this); local
564 if (PN && PN->getParent() == CurBB)
565 return PN->getIncomingValueForBlock(PredBB);
/external/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);
266 Value *expandIVInc(PHINode *PN, Value *StepV, const Loop *L,
H A DSparsePropagation.h77 virtual bool IsSpecialCasedPHI(PHINode *PN) { argument
/external/llvm/lib/Analysis/
H A DDominanceFrontier.cpp28 const DomTreeNode *PN)
29 : currentBB(B), parentBB(P), Node(N), parentNode(PN) {}
26 DFCalculateWorkObject(BasicBlock *B, BasicBlock *P, const DomTreeNode *N, const DomTreeNode *PN) argument
H A DSparsePropagation.cpp230 void SparseSolver::visitPHINode(PHINode &PN) { argument
234 if (LatticeFunc->IsSpecialCasedPHI(&PN)) {
235 LatticeVal IV = LatticeFunc->ComputeInstructionState(PN, *this);
237 UpdateState(PN, IV);
241 LatticeVal PNIV = getOrInitValueState(&PN);
250 if (PN.getNumIncomingValues() > 64) {
251 UpdateState(PN, Overdefined);
258 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i) {
260 if (!isEdgeFeasible(PN.getIncomingBlock(i), PN
[all...]
H A DLoopInfo.cpp162 PHINode *PN = cast<PHINode>(I); local
164 dyn_cast<ConstantInt>(PN->getIncomingValueForBlock(Incoming)))
167 dyn_cast<Instruction>(PN->getIncomingValueForBlock(Backedge)))
169 Inc->getOperand(0) == PN)
172 return PN;
/external/llvm/lib/CodeGen/
H A DDwarfEHPrepare.cpp151 PHINode *PN = PHINode::Create(Type::getInt8PtrTy(Ctx), ResumesSize, local
163 PN->addIncoming(ExnObj, Parent);
169 CallInst *CI = CallInst::Create(RewindFunction, PN, "", UnwindBB);
H A DSjLjEHPrepare.cpp327 PHINode *PN = cast<PHINode>(U); local
328 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
329 if (PN->getIncomingValue(i) == Inst)
330 MarkBlocksLiveIn(PN->getIncomingBlock(i), LiveBBs);
365 for (BasicBlock::iterator PN = UnwindBlock->begin(); isa<PHINode>(PN); ++PN)
366 PHIsToDemote.insert(cast<PHINode>(PN));
/external/llvm/include/llvm/CodeGen/
H A DFunctionLoweringInfo.h192 void InvalidatePHILiveOutRegInfo(const PHINode *PN) { argument
194 DenseMap<const Value*, unsigned>::const_iterator It = ValueMap.find(PN);
/external/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h153 void visitPHINode(PHINode &PN) { argument
/external/llvm/lib/CodeGen/SelectionDAG/
H A DFunctionLoweringInfo.cpp195 const PHINode *PN = dyn_cast<PHINode>(I); ++I) {
196 if (PN->use_empty()) continue;
199 if (PN->getType()->isEmptyTy())
202 DebugLoc DL = PN->getDebugLoc();
203 unsigned PHIReg = ValueMap[PN];
207 ComputeValueVTs(*TLI, PN->getType(), ValueVTs);
304 void FunctionLoweringInfo::ComputePHILiveOutRegInfo(const PHINode *PN) { argument
305 Type *Ty = PN->getType();
317 if (TLI->getNumRegisters(PN->getContext(), IntVT) != 1)
319 IntVT = TLI->getTypeToTransformTo(PN
[all...]
/external/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp823 PHINode *PN = PHINode::Create(MergedVal->getType(), 2, "storemerge"); local
824 PN->addIncoming(SI.getOperand(0), SI.getParent());
825 PN->addIncoming(OtherStore->getOperand(0), OtherBB);
826 MergedVal = InsertNewInstBefore(PN, DestBB->front());
H A DInstCombineShifts.cpp174 PHINode *PN = cast<PHINode>(I); local
175 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
176 if (!CanEvaluateShifted(PN->getIncomingValue(i), NumBits, isLeftShift,IC))
303 PHINode *PN = cast<PHINode>(I); local
304 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
305 PN->setIncomingValue(i, GetShiftedValue(PN->getIncomingValue(i),
307 return PN;
H A DInstCombinePHI.cpp26 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { argument
27 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0));
46 for (unsigned i = 1; i != PN.getNumIncomingValues(); ++i) {
47 Instruction *I = dyn_cast<Instruction>(PN.getIncomingValue(i));
85 NewLHS = PHINode::Create(LHSType, PN.getNumIncomingValues(),
87 NewLHS->addIncoming(InLHS, PN.getIncomingBlock(0));
88 InsertNewInstBefore(NewLHS, PN);
93 NewRHS = PHINode::Create(RHSType, PN.getNumIncomingValues(),
95 NewRHS->addIncoming(InRHS, PN.getIncomingBlock(0));
96 InsertNewInstBefore(NewRHS, PN);
132 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:__anon25409::LoweredPHIRecord
634 PHINode *PN = PHIsToSlice[PHIId]; local
702 PHINode *PN = PHIsToSlice[PHIId]; local
790 visitPHINode(PHINode &PN) argument
[all...]
/external/llvm/lib/Transforms/IPO/
H A DFunctionAttrs.cpp752 PHINode *PN = cast<PHINode>(RVI); local
753 for (int i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
754 FlowsToReturn.insert(PN->getIncomingValue(i));

Completed in 312 milliseconds

123