/netbsd/external/gpl3/gcc.old/dist/gcc/ |
H A D | tree-ssa-operands.h | 75 #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 D | tree-ssa-operands.h | 75 #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 D | MachineSSAUpdater.cpp | 255 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 D | EarlyIfConversion.cpp | 113 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 D | CanonicalizeFreezeInLoops.cpp | 75 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 D | SSAUpdater.cpp | 86 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 D | SimplifyCFG.cpp | 3326 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 D | FlattenCFG.cpp | 137 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 D | LoopPeel.cpp | 610 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 D | AMDGPUMachineCFGStructurizer.cpp | 285 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 D | AMDGPUAtomicOptimizer.cpp | 622 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 D | SSAUpdaterImpl.h | 348 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 D | LoopInterchange.cpp | 724 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 D | GVNSink.cpp | 702 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 D | LoopFuse.cpp | 1357 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 D | Scalarizer.cpp | 204 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 D | PPCMIPeephole.cpp | 305 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 D | X86LowerAMXType.cpp | 461 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 D | InstCombineNegator.cpp | 271 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 D | ObjCARCContract.cpp | 613 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 D | tree-ssa.texi | 320 /* 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 D | tree-ssa.texi | 320 /* 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 D | is-a.inl | 28 || 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 D | PGOMemOPSizeOpt.cpp | 440 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 D | MemoryBuiltins.cpp | 1033 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()
|