/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
H A D | TailDuplicator.cpp | 111 for (MachineBasicBlock *PredBB : Preds) { in VerifyPHIs() 115 if (PHIBB == PredBB) { in VerifyPHIs() 124 << printMBBReference(*PredBB) << '\n'; in VerifyPHIs() 348 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument 353 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in processPHI() 365 addSSAUpdateEntry(DefReg, NewDef, PredBB); in processPHI() 380 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument 385 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction() 390 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction() 405 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction() [all …]
|
H A D | MachineDominators.cpp | 106 for (MachineBasicBlock *PredBB : Succ->predecessors()) { in applySplitCriticalEdges() 107 if (PredBB == Edge.NewBB) in applySplitCriticalEdges() 121 if (NewBBs.count(PredBB)) { in applySplitCriticalEdges() 122 assert(PredBB->pred_size() == 1 && "A basic block resulting from a " in applySplitCriticalEdges() 125 PredBB = *PredBB->pred_begin(); in applySplitCriticalEdges() 127 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges()
|
H A D | BranchFolding.cpp | 544 MachineBasicBlock *PredBB, in ProfitableToMerge() argument 582 if ((MBB1 == PredBB || MBB2 == PredBB) && in ProfitableToMerge() 585 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I); in ProfitableToMerge() 630 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge() 656 MachineBasicBlock *PredBB) { in ComputeSameTails() argument 669 SuccBB, PredBB, in ComputeSameTails() 691 MachineBasicBlock *PredBB) { in RemoveBlocksWithHash() argument 698 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash() 708 bool BranchFolder::CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, in CreateCommonTailOnlyBlock() argument 716 if (SameTails[i].getBlock() == PredBB) { in CreateCommonTailOnlyBlock() [all …]
|
H A D | BranchFolding.h | 136 MachineBasicBlock* PredBB, 163 MachineBasicBlock *PredBB); 168 MachineBasicBlock* PredBB); 172 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
|
H A D | MachineSSAUpdater.cpp | 167 for (MachineBasicBlock *PredBB : BB->predecessors()) { in GetValueInMiddleOfBlock() 168 Register PredVal = GetValueAtEndOfBlockInternal(PredBB); in GetValueInMiddleOfBlock() 169 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
H A D | PHITransAddr.cpp | 144 BasicBlock *PredBB, in PHITranslateSubExpr() argument 169 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr() 189 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 207 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 218 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr() 244 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 260 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 296 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 312 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateValue() argument 317 if (DT && DT->isReachableFromEntry(PredBB)) in PHITranslateValue() [all …]
|
H A D | LoopNestAnalysis.cpp | 224 const BasicBlock *PredBB = From; in skipEmptyBlockUntil() local 228 PredBB = BB; in skipEmptyBlockUntil() 232 return (BB == End) ? *End : *PredBB; in skipEmptyBlockUntil()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
H A D | JumpThreading.cpp | 242 auto *PredBB = IncomingBB; in updatePredecessorProfileMetadata() local 246 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata() 248 return {PredBB, SuccBB}; in updatePredecessorProfileMetadata() 249 Visited.insert(PredBB); in updatePredecessorProfileMetadata() 250 auto *SinglePredBB = PredBB->getSinglePredecessor(); in updatePredecessorProfileMetadata() 259 SuccBB = PredBB; in updatePredecessorProfileMetadata() 260 PredBB = SinglePredBB; in updatePredecessorProfileMetadata() 281 BasicBlock *PredBB = PredOutEdge.first; in updatePredecessorProfileMetadata() local 282 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata() 835 BasicBlock *PredBB = PN->getIncomingBlock(i); in computeValueKnownInPredecessorsImpl() local [all …]
|
H A D | SpeculateAroundPHIs.cpp | 576 for (auto *PredBB : PredSet) { in speculatePHIs() local 578 PredBB, ParentBB, in speculatePHIs() 582 LLVM_DEBUG(dbgs() << " Split critical edge from: " << PredBB->getName() in speculatePHIs() 586 assert(PredBB->getSingleSuccessor() == ParentBB && in speculatePHIs() 588 assert(!isa<InvokeInst>(PredBB->getTerminator()) && in speculatePHIs() 592 SpecPreds.push_back(PredBB); in speculatePHIs() 653 for (auto *PredBB : SpecPreds) in speculatePHIs() local 654 SpeculatedVals.push_back(IncomingValueMap.find(PredBB)->second); in speculatePHIs() 659 auto *PredBB = SpecPreds[PredIdx]; in speculatePHIs() local 660 assert(PredBB->getSingleSuccessor() == ParentBB && in speculatePHIs() [all …]
|
H A D | SimpleLoopUnswitch.cpp | 1444 for (BasicBlock *PredBB : predecessors(BB)) { in buildClonedLoops() 1447 if (!UnloopedBlockSet.erase(PredBB)) { in buildClonedLoops() 1449 (BlocksInClonedLoop.count(PredBB) || ExitLoopMap.count(PredBB)) && in buildClonedLoops() 1457 bool Inserted = ExitLoopMap.insert({PredBB, ExitL}).second; in buildClonedLoops() 1462 Worklist.push_back(PredBB); in buildClonedLoops() 1848 for (BasicBlock *PredBB : predecessors(BB)) { in rebuildLoopAfterUnswitch() 1851 if (!UnloopedBlocks.erase(PredBB)) { in rebuildLoopAfterUnswitch() 1852 assert((NewExitLoopBlocks.count(PredBB) || in rebuildLoopAfterUnswitch() 1853 ExitL.contains(LI.getLoopFor(PredBB))) && in rebuildLoopAfterUnswitch() 1861 bool Inserted = NewExitLoopBlocks.insert(PredBB).second; in rebuildLoopAfterUnswitch() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
H A D | PHITransAddr.h | 81 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 91 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 103 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 112 BasicBlock *PredBB, const DominatorTree &DT,
|
H A D | LoopInfoImpl.h | 439 BlockT *PredBB = ReverseCFGWorklist.back(); in discoverAndMapSubloop() local 442 LoopT *Subloop = LI->getLoopFor(PredBB); in discoverAndMapSubloop() 444 if (!DomTree.isReachableFromEntry(PredBB)) in discoverAndMapSubloop() 448 LI->changeLoopFor(PredBB, L); in discoverAndMapSubloop() 450 if (PredBB == L->getHeader()) in discoverAndMapSubloop() 454 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop() 455 InvBlockTraits::child_end(PredBB)); in discoverAndMapSubloop() 469 PredBB = Subloop->getHeader(); in discoverAndMapSubloop() 474 for (const auto Pred : children<Inverse<BlockT *>>(PredBB)) { in discoverAndMapSubloop()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/XCore/ |
H A D | XCoreLowerThreadLocal.cpp | 89 BasicBlock *PredBB = PN->getIncomingBlock(I); in replaceConstantExprOp() local 90 if (PredBB->getTerminator()->getNumSuccessors() > 1) in replaceConstantExprOp() 91 PredBB = SplitEdge(PredBB, PN->getParent()); in replaceConstantExprOp() 92 Instruction *InsertPos = PredBB->getTerminator(); in replaceConstantExprOp()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
H A D | VPlanPredicator.cpp | 37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB, in getOrCreateNotPredicate() argument 39 VPValue *CBV = PredBB->getCondBit(); in getOrCreateNotPredicate() 43 EdgeType ET = getEdgeTypeBetween(PredBB, CurrBB); in getOrCreateNotPredicate() 58 VPValue *BP = PredBB->getPredicate(); in getOrCreateNotPredicate()
|
H A D | VPlanPredicator.h | 50 VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 181 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() local 182 if (!PredBB) return false; in MergeBlockIntoPredecessor() 185 if (PredBB == BB) return false; in MergeBlockIntoPredecessor() 187 if (PredBB->getTerminator()->isExceptionalTerminator()) in MergeBlockIntoPredecessor() 191 if (!PredecessorWithTwoSuccessors && PredBB->getUniqueSuccessor() != BB) in MergeBlockIntoPredecessor() 200 if (!(PredBB_BI = dyn_cast<BranchInst>(PredBB->getTerminator()))) in MergeBlockIntoPredecessor() 215 << PredBB->getName() << "\n"); in MergeBlockIntoPredecessor() 232 SmallPtrSet<BasicBlock *, 2> SuccsOfPredBB(succ_begin(PredBB), in MergeBlockIntoPredecessor() 233 succ_begin(PredBB)); in MergeBlockIntoPredecessor() 244 Updates.push_back({DominatorTree::Insert, PredBB, SuccOfBB}); in MergeBlockIntoPredecessor() [all …]
|
H A D | SSAUpdater.cpp | 114 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); in GetValueInMiddleOfBlock() local 115 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 116 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock() 126 for (BasicBlock *PredBB : predecessors(BB)) { in GetValueInMiddleOfBlock() 127 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 128 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
|
H A D | Local.cpp | 738 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred() local 739 assert(PredBB && "Block doesn't have a single predecessor!"); in MergeBasicBlockIntoOnlyPred() 741 bool ReplaceEntryBB = PredBB->isEntryBlock(); in MergeBasicBlockIntoOnlyPred() 748 SmallPtrSet<BasicBlock *, 2> PredsOfPredBB(pred_begin(PredBB), in MergeBasicBlockIntoOnlyPred() 749 pred_end(PredBB)); in MergeBasicBlockIntoOnlyPred() 753 if (PredOfPredBB != PredBB) in MergeBasicBlockIntoOnlyPred() 756 Updates.push_back({DominatorTree::Delete, PredOfPredBB, PredBB}); in MergeBasicBlockIntoOnlyPred() 757 Updates.push_back({DominatorTree::Delete, PredBB, DestBB}); in MergeBasicBlockIntoOnlyPred() 772 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred() 775 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred() [all …]
|
H A D | BreakCriticalEdges.cpp | 331 BasicBlock *PredBB = PN->getIncomingBlock(Pred); in findIBRPredecessor() local 332 Instruction *PredTerm = PredBB->getTerminator(); in findIBRPredecessor() 337 IBB = PredBB; in findIBRPredecessor() 341 OtherPreds.push_back(PredBB); in findIBRPredecessor()
|
H A D | CloneFunction.cpp | 885 BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, in DuplicateInstructionsInSplitBetween() argument 888 assert(count(successors(PredBB), BB) == 1 && in DuplicateInstructionsInSplitBetween() 895 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB); in DuplicateInstructionsInSplitBetween() 897 BasicBlock *NewBB = SplitEdge(PredBB, BB); in DuplicateInstructionsInSplitBetween() 898 NewBB->setName(PredBB->getName() + ".split"); in DuplicateInstructionsInSplitBetween() 903 DTU.applyUpdates({{DominatorTree::Delete, PredBB, BB}, in DuplicateInstructionsInSplitBetween() 904 {DominatorTree::Insert, PredBB, NewBB}, in DuplicateInstructionsInSplitBetween()
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
H A D | TailDuplicator.h | 82 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB); 104 MachineBasicBlock *PredBB, 109 MachineBasicBlock *PredBB,
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/ObjCARC/ |
H A D | DependencyAnalysis.cpp | 234 BasicBlock *PredBB = *PI; in findDependencies() local 235 if (Visited.insert(PredBB).second) in findDependencies() 236 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); in findDependencies()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
H A D | HotColdSplitting.cpp | 471 BasicBlock &PredBB = **PredIt; in create() local 472 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create() 476 if (SinkPostDom && pred_empty(&PredBB)) { in create() 483 if (!SinkPostDom || !mayExtractBlock(PredBB)) { in create() 491 unsigned PredScore = getEntryPointScore(PredBB, PredIt.getPathLength()); in create() 493 ColdRegion->SuggestedEntryPoint = &PredBB; in create() 497 addBlockToRegion(&PredBB, PredScore); in create()
|
H A D | BlockExtractor.cpp | 163 for (auto PredBB : predecessors(LPad)) { in splitLandingPadPreds() local 164 if (PredBB->isLandingPad() && PredBB != Parent && in splitLandingPadPreds()
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/ |
H A D | JumpThreading.h | 122 BasicBlock *PredBB); 148 void threadThroughTwoBasicBlocks(BasicBlock *PredPredBB, BasicBlock *PredBB, 172 void updateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB,
|