Home
last modified time | relevance | path

Searched refs:PHI (Results 1 – 25 of 254) sorted by relevance

1234567891011

/netbsd/external/gpl3/gcc.old/dist/gcc/
H A Dtree-ssa-operands.h75 #define PHI_RESULT_PTR(PHI) gimple_phi_result_ptr (PHI) argument
76 #define PHI_RESULT(PHI) DEF_FROM_PTR (PHI_RESULT_PTR (PHI)) argument
77 #define SET_PHI_RESULT(PHI, V) SET_DEF (PHI_RESULT_PTR (PHI), (V)) argument
81 #define PHI_ARG_DEF_PTR(PHI, I) gimple_phi_arg_imm_use_ptr ((PHI), (I)) argument
82 #define PHI_ARG_DEF(PHI, I) gimple_phi_arg_def ((PHI), (I)) argument
83 #define SET_PHI_ARG_DEF(PHI, I, V) \ argument
84 SET_USE (PHI_ARG_DEF_PTR ((PHI), (I)), (V))
85 #define PHI_ARG_DEF_FROM_EDGE(PHI, E) \ argument
86 PHI_ARG_DEF ((PHI), (E)->dest_idx)
87 #define PHI_ARG_DEF_PTR_FROM_EDGE(PHI, E) \ argument
[all …]
/netbsd/external/gpl3/gcc/dist/gcc/
H A Dtree-ssa-operands.h75 #define PHI_RESULT_PTR(PHI) gimple_phi_result_ptr (PHI) argument
76 #define PHI_RESULT(PHI) DEF_FROM_PTR (PHI_RESULT_PTR (PHI)) argument
77 #define SET_PHI_RESULT(PHI, V) SET_DEF (PHI_RESULT_PTR (PHI), (V)) argument
81 #define PHI_ARG_DEF_PTR(PHI, I) gimple_phi_arg_imm_use_ptr ((PHI), (I)) argument
82 #define PHI_ARG_DEF(PHI, I) gimple_phi_arg_def ((PHI), (I)) argument
83 #define SET_PHI_ARG_DEF(PHI, I, V) \ argument
84 SET_USE (PHI_ARG_DEF_PTR ((PHI), (I)), (V))
85 #define PHI_ARG_DEF_FROM_EDGE(PHI, E) \ argument
86 PHI_ARG_DEF ((PHI), (E)->dest_idx)
87 #define PHI_ARG_DEF_PTR_FROM_EDGE(PHI, E) \ argument
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DMachineSSAUpdater.cpp255 MachineInstr *PHI; member in llvm::SSAUpdaterTraits::PHI_iterator
260 : PHI(P), idx(1) {} in PHI_iterator()
262 : PHI(P), idx(PHI->getNumOperands()) {} in PHI_iterator()
271 return PHI->getOperand(idx+1).getMBB(); in getIncomingBlock()
275 static inline PHI_iterator PHI_begin(PhiT *PHI) { return PHI_iterator(PHI); } in PHI_begin() argument
278 return PHI_iterator(PHI, true); in PHI_end()
305 MachineInstr *PHI = InsertNewDef(TargetOpcode::PHI, BB, Loc, in CreateEmptyPHI() local
308 return PHI->getOperand(0).getReg(); in CreateEmptyPHI()
335 if (PHI && PHI->getNumOperands() <= 1) in ValueIsNewPHI()
336 return PHI; in ValueIsNewPHI()
[all …]
H A DEarlyIfConversion.cpp113 MachineInstr *PHI; member
516 if (PI.PHI->getOperand(i+1).getMBB() == TPred) in canConvertIf()
517 PI.TReg = PI.PHI->getOperand(i).getReg(); in canConvertIf()
518 if (PI.PHI->getOperand(i+1).getMBB() == FPred) in canConvertIf()
519 PI.FReg = PI.PHI->getOperand(i).getReg(); in canConvertIf()
630 PI.PHI->eraseFromParent(); in replacePHIInstrs()
631 PI.PHI = nullptr; in replacePHIInstrs()
665 PI.PHI->getOperand(i-1).setMBB(Head); in rewritePHIOperands()
666 PI.PHI->getOperand(i-2).setReg(DstReg); in rewritePHIOperands()
668 PI.PHI->RemoveOperand(i-1); in rewritePHIOperands()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DCanonicalizeFreezeInLoops.cpp75 PHINode *PHI; member
79 FrozenIndPHIInfo(PHINode *PHI, BinaryOperator *StepInst) in FrozenIndPHIInfo()
80 : PHI(PHI), StepInst(StepInst) {} in FrozenIndPHIInfo()
132 for (auto &PHI : L->getHeader()->phis()) { in run() local
137 LLVM_DEBUG(dbgs() << "canonfr: PHI: " << PHI << "\n"); in run()
138 FrozenIndPHIInfo Info(&PHI, ID.getInductionBinOp()); in run()
145 Info.StepValIdx = Info.StepInst->getOperand(0) == &PHI; in run()
162 for_each(PHI.users(), Visit); in run()
171 PHINode *PHI = Info.PHI; in run() local
172 if (!ProcessedPHIs.insert(Info.PHI).second) in run()
[all …]
H A DSSAUpdater.cpp86 PHI->getIncomingValue(i)) { in IsEquivalentPHI()
226 PHINode *PHI; member in llvm::SSAUpdaterTraits::PHI_iterator
231 : PHI(P), idx(0) {} in PHI_iterator()
233 : PHI(P), idx(PHI->getNumIncomingValues()) {} in PHI_iterator()
243 static PHI_iterator PHI_begin(PhiT *PHI) { return PHI_iterator(PHI); } in PHI_begin() argument
245 return PHI_iterator(PHI, true); in PHI_end()
273 return PHI; in CreateEmptyPHI()
279 PHI->addIncoming(Val, Pred); in AddPHIOperand()
291 if (PHI && PHI->getNumIncomingValues() == 0) in ValueIsNewPHI()
292 return PHI; in ValueIsNewPHI()
[all …]
H A DSimplifyCFG.cpp3326 PHINode *PHI = nullptr; in ensureValueAvailableInSuccessor() local
3340 PHI = nullptr; in ensureValueAvailableInSuccessor()
3342 if (PHI) in ensureValueAvailableInSuccessor()
3343 return PHI; in ensureValueAvailableInSuccessor()
3354 PHI->addIncoming( in ensureValueAvailableInSuccessor()
3356 return PHI; in ensureValueAvailableInSuccessor()
5107 return &PHI; in FindPHIForConditionForwarding()
5367 if (!PHI) in InitializeUniqueCases()
5945 ResultTypes[PHI] = ResultLists[PHI][0].second->getType(); in SwitchToLookupTable()
6091 if (PHI->hasOneUse() && isa<ReturnInst>(*PHI->user_begin()) && in SwitchToLookupTable()
[all …]
H A DFlattenCFG.cpp137 PHINode *PHI = dyn_cast<PHINode>(BB->begin()); in FlattenParallelAndOr() local
138 if (PHI) in FlattenParallelAndOr()
275 PHI = dyn_cast<PHINode>(PS2->begin()); in FlattenParallelAndOr()
276 if (PHI) in FlattenParallelAndOr()
H A DLoopPeel.cpp610 for (PHINode &PHI : Edge.second->phis()) { in cloneLoopBlocks()
611 Value *LatchVal = PHI.getIncomingValueForBlock(Edge.first); in cloneLoopBlocks()
615 PHI.addIncoming(LatchVal, cast<BasicBlock>(VMap[Edge.first])); in cloneLoopBlocks()
828 PHINode *PHI = cast<PHINode>(I); in peelLoop() local
829 Value *NewVal = PHI->getIncomingValueForBlock(Latch); in peelLoop()
834 PHI->setIncomingValueForBlock(NewPreHeader, NewVal); in peelLoop()
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
H A DAMDGPUMachineCFGStructurizer.cpp285 assert(PHI.isPHI()); in getPHINumInputs()
290 assert(PHI.isPHI()); in getPHIPred()
300 assert(PHI.isPHI()); in getPHISourceReg()
305 assert(PHI.isPHI()); in getPHIDestReg()
1377 PHIInfo.addSource(LDestReg, getPHISourceReg(PHI, i), getPHIPred(PHI, i)); in storePHILinearizationInfoDest()
1382 PHIInfo.addSource(LDestReg, getPHISourceReg(PHI, i), getPHIPred(PHI, i)); in storePHILinearizationInfoDest()
1464 BuildMI(*MBB, PHI, PHI.getDebugLoc(), TII->get(TargetOpcode::PHI), in shrinkPHI()
1486 PHI.eraseFromParent(); in shrinkPHI()
1509 BuildMI(*MBB, PHI, PHI.getDebugLoc(), TII->get(TargetOpcode::PHI), in replacePHI()
1530 PHI.eraseFromParent(); in replacePHI()
[all …]
H A DAMDGPUAtomicOptimizer.cpp622 PHINode *const PHI = B.CreatePHI(Ty, 2); in optimizeAtomic() local
623 PHI->addIncoming(UndefValue::get(Ty), EntryBB); in optimizeAtomic()
624 PHI->addIncoming(NewI, SingleLaneTerminator->getParent()); in optimizeAtomic()
632 Value *const ExtractLo = B.CreateTrunc(PHI, B.getInt32Ty()); in optimizeAtomic()
634 B.CreateTrunc(B.CreateLShr(PHI, 32), B.getInt32Ty()); in optimizeAtomic()
646 BroadcastI = B.CreateIntrinsic(Intrinsic::amdgcn_readfirstlane, {}, PHI); in optimizeAtomic()
686 PHINode *const PHI = B.CreatePHI(Ty, 2); in optimizeAtomic() local
687 PHI->addIncoming(UndefValue::get(Ty), PixelEntryBB); in optimizeAtomic()
688 PHI->addIncoming(Result, I.getParent()); in optimizeAtomic()
689 I.replaceAllUsesWith(PHI); in optimizeAtomic()
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
H A DSSAUpdaterImpl.h348 Info->AvailableVal = PHI; in FindAvailableVals()
349 (*AvailableVals)[Info->BB] = PHI; in FindAvailableVals()
367 if (!PHI) in FindAvailableVals()
383 if (InsertedPHIs) InsertedPHIs->push_back(PHI); in FindAvailableVals()
404 bool CheckIfPHIMatches(PhiT *PHI) { in CheckIfPHIMatches() argument
406 WorkList.push_back(PHI); in CheckIfPHIMatches()
409 BBMap[PHI->getParent()]->PHITag = PHI; in CheckIfPHIMatches()
412 PHI = WorkList.pop_back_val(); in CheckIfPHIMatches()
454 if (PhiT *PHI = (*I)->PHITag) { in RecordMatchingPHIs() local
455 BlkT *BB = PHI->getParent(); in RecordMatchingPHIs()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp724 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA() local
725 if (!PHI) in followLCSSA()
728 if (PHI->getNumIncomingValues() != 1) in followLCSSA()
741 if (PHI->getNumIncomingValues() == 1) in findInnerReductionPhi()
745 return PHI; in findInnerReductionPhi()
761 Inductions.push_back(&PHI); in findInductionAndReductions()
785 OuterInnerReductions.insert(&PHI); in findInductionAndReductions()
973 for (PHINode &PHI : InnerExit->phis()) { in areInnerLoopExitPHIsSupported()
975 if (PHI.getNumIncomingValues() > 1) in areInnerLoopExitPHIsSupported()
1677 for (PHINode *PHI : OuterLoopPHIs) { in adjustLoopBranches()
[all …]
H A DGVNSink.cpp702 for (auto &PHI : NeededPHIs) in analyzeInstructionForSinking() local
703 PHIContents.insert(PHI.getValues().begin(), PHI.getValues().end()); in analyzeInstructionForSinking()
729 ModelledPHI PHI(NewInsts, OpNum, ActivePreds); in analyzeInstructionForSinking() local
730 if (PHI.areAllIncomingValuesSame()) in analyzeInstructionForSinking()
735 if (NeededPHIs.count(PHI)) in analyzeInstructionForSinking()
737 if (!PHI.areAllIncomingValuesSameType()) in analyzeInstructionForSinking()
741 PHI.areAnyIncomingValuesConstant()) in analyzeInstructionForSinking()
745 NeededPHIs.insert(PHI); in analyzeInstructionForSinking()
746 PHIContents.insert(PHI.getValues().begin(), PHI.getValues().end()); in analyzeInstructionForSinking()
H A DLoopFuse.cpp1357 for (PHINode &PHI : FC0.Header->phis()) in performFusion()
1358 OriginalFC0PHIs.push_back(&PHI); in performFusion()
1415 if (SE.isSCEVable(PHI->getType())) in performFusion()
1416 SE.forgetValue(PHI); in performFusion()
1417 if (PHI->hasNUsesOrMore(1)) in performFusion()
1420 PHI->eraseFromParent(); in performFusion()
1646 OriginalFC0PHIs.push_back(&PHI); in fuseGuardedLoops()
1696 if (SE.isSCEVable(PHI->getType())) in fuseGuardedLoops()
1697 SE.forgetValue(PHI); in fuseGuardedLoops()
1698 if (PHI->hasNUsesOrMore(1)) in fuseGuardedLoops()
[all …]
H A DScalarizer.cpp204 bool visitPHINode(PHINode &PHI);
840 bool ScalarizerVisitor::visitPHINode(PHINode &PHI) { in visitPHINode() argument
841 VectorType *VT = dyn_cast<VectorType>(PHI.getType()); in visitPHINode()
846 IRBuilder<> Builder(&PHI); in visitPHINode()
850 unsigned NumOps = PHI.getNumOperands(); in visitPHINode()
853 PHI.getName() + ".i" + Twine(I)); in visitPHINode()
856 Scatterer Op = scatter(&PHI, PHI.getIncomingValue(I)); in visitPHINode()
857 BasicBlock *IncomingBlock = PHI.getIncomingBlock(I); in visitPHINode()
861 gather(&PHI, Res); in visitPHINode()
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/
H A DPPCMIPeephole.cpp305 if (Opcode != PPC::PHI) in collectUnprimedAccPHIs()
326 MachineInstr *PHI = *It; in convertUnprimedAccPHIs() local
334 Register RegOp = PHI->getOperand(PHIOp).getReg(); in convertUnprimedAccPHIs()
338 Opcode == PPC::PHI) && in convertUnprimedAccPHIs()
351 } else if (Opcode == PPC::PHI) { in convertUnprimedAccPHIs()
369 if (PHI != PHIs[0]) in convertUnprimedAccPHIs()
372 *PHI->getParent(), PHI, PHI->getDebugLoc(), TII->get(PPC::PHI), AccReg); in convertUnprimedAccPHIs()
375 ChangedPHIMap[PHI] = NewPHI.getInstr(); in convertUnprimedAccPHIs()
453 if (RootPHI->getOpcode() != PPC::PHI) in simplifyCode()
1477 assert(Inst->getOpcode() == PPC::PHI && in eliminateRedundantCompare()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/X86/
H A DX86LowerAMXType.cpp461 void replacePhiDefWithLoad(Instruction *PHI, Value *StorePtr);
485 void X86VolatileTileData::replacePhiDefWithLoad(Instruction *PHI, in replacePhiDefWithLoad() argument
487 for (Use &U : PHI->uses()) in replacePhiDefWithLoad()
489 PHI->eraseFromParent(); in replacePhiDefWithLoad()
547 void X86VolatileTileData::volatileTilePHI(PHINode *PHI) { in volatileTilePHI() argument
548 BasicBlock *BB = PHI->getParent(); in volatileTilePHI()
551 for (unsigned I = 0, E = PHI->getNumIncomingValues(); I != E; ++I) { in volatileTilePHI()
552 Value *Op = PHI->getIncomingValue(I); in volatileTilePHI()
559 replacePhiDefWithLoad(PHI, StorePtr); in volatileTilePHI()
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
H A DInstCombineNegator.cpp271 case Instruction::PHI: { in visitImpl()
273 auto *PHI = cast<PHINode>(I); in visitImpl() local
274 SmallVector<Value *, 4> NegatedIncomingValues(PHI->getNumOperands()); in visitImpl()
275 for (auto I : zip(PHI->incoming_values(), NegatedIncomingValues)) { in visitImpl()
282 PHI->getType(), PHI->getNumOperands(), PHI->getName() + ".neg"); in visitImpl()
283 for (auto I : zip(NegatedIncomingValues, PHI->blocks())) in visitImpl()
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/ObjCARC/
H A DObjCARCContract.cpp613 if (PHINode *PHI = dyn_cast<PHINode>(U.getUser())) { in run() local
616 BasicBlock *IncomingBB = PHI->getIncomingBlock(ValNo); in run()
635 for (unsigned i = 0, e = PHI->getNumIncomingValues(); i != e; ++i) in run()
636 if (PHI->getIncomingBlock(i) == IncomingBB) { in run()
639 &PHI->getOperandUse( in run()
642 PHI->setIncomingValue(i, Replacement); in run()
675 for (Value *PHI : PHIList) in run()
676 ReplaceArgUses(PHI); in run()
/netbsd/external/gpl3/gcc.old/dist/gcc/doc/
H A Dtree-ssa.texi320 /* Look at every virtual PHI use. */
326 /* Look at every real PHI use. */
330 /* Look at every PHI use. */
422 isn't located in a @code{PHI} node.
483 @cindex PHI nodes
487 @dfn{PHI function} or @dfn{PHI node}. This new definition merges
499 # a_4 = PHI <a_1, a_2, a_3>
511 The following functions can be used to examine PHI nodes
558 2 x_1 = PHI (0, x_5)
575 2 x_1 = PHI (0, x_5)
[all …]
/netbsd/external/gpl3/gcc/dist/gcc/doc/
H A Dtree-ssa.texi320 /* Look at every virtual PHI use. */
326 /* Look at every real PHI use. */
330 /* Look at every PHI use. */
410 isn't located in a @code{PHI} node.
471 @cindex PHI nodes
475 @dfn{PHI function} or @dfn{PHI node}. This new definition merges
487 # a_4 = PHI <a_1, a_2, a_3>
499 The following functions can be used to examine PHI nodes
546 2 x_1 = PHI (0, x_5)
563 2 x_1 = PHI (0, x_5)
[all …]
/netbsd/external/gpl3/gcc/dist/gcc/rtl-ssa/
H A Dis-a.inl28 || ref->kind () == rtl_ssa::access_kind::PHI
63 || ref->kind () == rtl_ssa::access_kind::PHI);
74 return ref->kind () == rtl_ssa::access_kind::PHI;
/netbsd/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/
H A DPGOMemOPSizeOpt.cpp440 PHINode *PHI = nullptr; in perform() local
444 PHI = IRBM.CreatePHI(MemOpTy, SizeIds.size() + 1, "MemOP.RVMerge"); in perform()
445 MO.I->replaceAllUsesWith(PHI); in perform()
446 PHI->addIncoming(MO.I, DefaultBB); in perform()
479 PHI->addIncoming(NewMO.I, CaseBB); in perform()
/netbsd/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DMemoryBuiltins.cpp1033 SizeOffsetEvalType ObjectSizeOffsetEvaluator::visitPHINode(PHINode &PHI) { in visitPHINode() argument
1035 PHINode *SizePHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); in visitPHINode()
1036 PHINode *OffsetPHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); in visitPHINode()
1039 CacheMap[&PHI] = std::make_pair(SizePHI, OffsetPHI); in visitPHINode()
1042 for (unsigned i = 0, e = PHI.getNumIncomingValues(); i != e; ++i) { in visitPHINode()
1043 Builder.SetInsertPoint(&*PHI.getIncomingBlock(i)->getFirstInsertionPt()); in visitPHINode()
1044 SizeOffsetEvalType EdgeData = compute_(PHI.getIncomingValue(i)); in visitPHINode()
1055 SizePHI->addIncoming(EdgeData.first, PHI.getIncomingBlock(i)); in visitPHINode()
1056 OffsetPHI->addIncoming(EdgeData.second, PHI.getIncomingBlock(i)); in visitPHINode()

1234567891011