Searched refs:PHIs (Results 1 - 14 of 14) sorted by relevance

/openbsd-current/gnu/llvm/llvm/lib/Target/X86/
H A DX86FastPreTileConfig.cpp435 SmallVector<MachineInstr *, 8> PHIs; local
442 PHIs.push_back(&MI);
454 while (!PHIs.empty()) {
455 MachineInstr *PHI = PHIs.pop_back_val();
490 SmallVector<MachineInstr *, 8> PHIs; local
496 PHIs.push_back(&MI);
498 while (!PHIs.empty()) {
499 MachineInstr *MI = PHIs.pop_back_val();
/openbsd-current/gnu/llvm/llvm/lib/CodeGen/
H A DEarlyIfConversion.cpp120 SmallVector<PHIInfo, 8> PHIs; member in class:__anon2061::SSAIfConv
511 PHIs.clear();
516 PHIs.push_back(&*I);
517 PHIInfo &PI = PHIs.back();
614 assert(Tail->pred_size() == 2 && "Cannot replace PHIs");
619 // Convert all PHIs to select instructions inserted before FirstTerm.
620 for (unsigned i = 0, e = PHIs.size(); i != e; ++i) {
621 PHIInfo &PI = PHIs[i];
647 // Convert all PHIs to select instructions inserted before FirstTerm.
648 for (unsigned i = 0, e = PHIs
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Target/PowerPC/
H A DPPCMIPeephole.cpp288 SmallVectorImpl<MachineInstr *> &PHIs) {
289 PHIs.push_back(RootPHI);
291 while (VisitedIndex < PHIs.size()) {
292 MachineInstr *VisitedPHI = PHIs[VisitedIndex];
314 if (llvm::is_contained(PHIs, Instr))
316 PHIs.push_back(Instr);
323 // This function changes the unprimed accumulator PHI nodes in the PHIs list to
329 SmallVectorImpl<MachineInstr *> &PHIs,
332 for (MachineInstr *PHI : llvm::reverse(PHIs)) {
375 if (PHI != PHIs[
286 collectUnprimedAccPHIs(MachineRegisterInfo *MRI, MachineInstr *RootPHI, SmallVectorImpl<MachineInstr *> &PHIs) argument
327 convertUnprimedAccPHIs(const PPCInstrInfo *TII, MachineRegisterInfo *MRI, SmallVectorImpl<MachineInstr *> &PHIs, Register Dst) argument
475 SmallVector<MachineInstr *, 4> PHIs; local
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DAMDGPUMachineCFGStructurizer.cpp1388 SmallPtrSet<MachineInstr *, 2> PHIs;
1397 PHIs.insert(&Instr);
1403 for (auto *PI : PHIs) {
1622 SmallVector<MachineInstr *, 2> &PHIs) {
1625 PHIs.push_back(&BBI);
1633 SmallVector<MachineInstr *, 2> PHIs;
1638 collectPHIs(Exit, PHIs);
1640 for (auto *PHII : PHIs) {
1647 SmallVector<MachineInstr *, 2> PHIs;
1650 collectPHIs(Entry, PHIs);
[all...]
/openbsd-current/gnu/llvm/clang/lib/CodeGen/
H A DCGNonTrivialStruct.cpp378 llvm::PHINode *PHIs[N]; local
381 PHIs[I] = CGF.Builder.CreatePHI(CGF.CGM.Int8PtrPtrTy, 2, "addr.cur");
382 PHIs[I]->addIncoming(StartAddrs[I].getPointer(), PreheaderBB);
392 CGF.Builder.CreateICmpEQ(PHIs[DstIdx], DstArrayEnd, "done");
403 Address(PHIs[I], CGF.Int8PtrTy,
416 PHIs[I]->addIncoming(NewAddrs[I].getPointer(), LoopBB);
/openbsd-current/gnu/llvm/llvm/lib/Analysis/
H A DIVDescriptors.cpp437 SmallVector<Instruction *, 8> PHIs; local
478 PHIs.push_back(UI);
501 Worklist.append(PHIs.begin(), PHIs.end());
1098 // nodes where possible, and 2) PHIs with the nsz flag + -0.0 use 0.0. This would
1538 // don't currently know how to handled uniform PHIs.
H A DValueTracking.cpp2894 // Check two PHIs are in same block.
3299 // Don't analyze large in-degree PHIs.
4437 SmallPtrSetImpl<const PHINode*> &PHIs,
4445 if (!PHIs.insert(PN).second)
4451 uint64_t Len = GetStringLengthH(IncValue, PHIs, CharSize);
4467 uint64_t Len1 = GetStringLengthH(SI->getTrueValue(), PHIs, CharSize);
4469 uint64_t Len2 = GetStringLengthH(SI->getFalseValue(), PHIs, CharSize);
4505 SmallPtrSet<const PHINode*, 32> PHIs;
4506 uint64_t Len = GetStringLengthH(V, PHIs, CharSize);
/openbsd-current/gnu/llvm/llvm/lib/Transforms/IPO/
H A DGlobalOpt.cpp599 /// dynamically null. PHIs keeps track of any phi nodes we've seen to avoid
602 SmallPtrSetImpl<const PHINode*> &PHIs) {
625 if (!AllUsesOfValueWillTrapIfNull(CI, PHIs)) return false;
627 if (!AllUsesOfValueWillTrapIfNull(GEPI, PHIs)) return false;
631 if (PHIs.insert(PN).second && !AllUsesOfValueWillTrapIfNull(PN, PHIs))
661 SmallPtrSet<const PHINode *, 8> PHIs; local
662 if (!AllUsesOfValueWillTrapIfNull(LI, PHIs))
601 AllUsesOfValueWillTrapIfNull(const Value *V, SmallPtrSetImpl<const PHINode*> &PHIs) argument
/openbsd-current/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp414 SmallVector<WeakTrackingVH, 8> PHIs; local
416 PHIs.push_back(&PN);
419 for (unsigned i = 0, e = PHIs.size(); i != e; ++i)
420 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHIs[i]))
483 // Only deal with PHIs in the loop header.
1794 // the header PHIs with values coming from the preheader.
H A DGVNSink.cpp188 /// the number of predecessors sunk from and the number of PHIs
203 NumExtraPHIs) // PHIs are expensive, so make sure they're worth it.
215 << " #Insts=" << C.NumInstructions << " #PHIs=" << C.NumPHIs << ">";
222 /// Describes a PHI node that may or may not exist. These track the PHIs
605 /// Create a ModelledPHI for each PHI in BB, adding to PHIs.
606 void analyzeInitialPHIs(BasicBlock *BB, ModelledPHISet &PHIs,
610 PHIs.insert(MPHI);
624 /// Remove PHIs that all have the same incoming value.
683 // If we've restricted the incoming blocks, restrict all needed PHIs also
700 // Does sinking this instruction render previous PHIs redundan
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp165 // Recursively deleting a PHI may cause multiple PHIs to be deleted
166 // or RAUW'd undef, so use an array of WeakTrackingVH for the PHIs to delete.
167 SmallVector<WeakTrackingVH, 8> PHIs; local
169 PHIs.push_back(&PN);
172 for (unsigned i = 0, e = PHIs.size(); i != e; ++i)
173 if (PHINode *PN = dyn_cast_or_null<PHINode>(PHIs[i].operator Value*()))
226 // Begin by getting rid of unneeded PHIs.
H A DSimplifyCFG.cpp1497 /// case, only the original BI will be replaced and selects for PHIs are added.
1709 // PHIs created below will adopt NT's merged DebugLoc.
1953 // completed - it takes into account PHIs that become trivially
2214 // Too many PHIs would be created.
2216 dbgs() << "SINK: stopping here, too many PHIs would be created!\n");
2307 // and never actually sink it which means we produce more PHIs than intended.
2782 // Skip PHIs which are trivial.
3060 // Skip PHIs which are trivial.
3396 // we ran out of PHIs then we simplified them all.
3410 // Don't fold i1 branches on PHIs whic
[all...]
/openbsd-current/gnu/llvm/llvm/lib/CodeGen/LiveDebugValues/
H A DInstrRefBasedImpl.cpp37 /// any un-necessary PHIs. This gives us a map of each variable to the value
2415 // whether we can eliminate redundant PHIs.
2498 // units for registers, place PHIs for them, and then replicate them for
2500 // arguments) don't lead to register units being tracked, just place PHIs for
2520 // isn't actually def'd anywhere, we only read from it. Generate PHIs
2537 // Lambda to fetch PHIs for a given location, and write into the PHIBlocks
2556 // Ask the SSA construction algorithm where we should put PHIs. Clear
2567 // For locations with no reg units, just place PHIs.
2574 // For stack slots, calculate PHIs for the equivalent of the units, then
2583 // Find anything that aliases this stack index, install PHIs fo
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp425 SetVector<PHINode *> PHIs; local
472 // We cannot transform PHIs on unsplittable basic blocks.
476 PHIs.insert(PN);
481 for (auto *PN : PHIs)
687 /// We can look through PHIs, GEPs and casts in order to determine a common base
833 // PHIs/casts.
895 // Try convert this to an indexed compare by looking through PHIs/casts as a

Completed in 333 milliseconds