/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | BlockCoverageInference.cpp | 57 for (auto &BB : F) { in BlockCoverageInference() local 80 for (auto &BB : F) { in getInstrumentedBlocksHash() local 112 for (auto &BB : F) in findDependencies() local 113 if (succ_empty(&BB)) in findDependencies() 135 for (auto &BB : F) { in findDependencies() local 176 for (auto &BB : F) { in findDependencies() local 206 for (auto &BB : F) { in findDependencies() local 210 Path.insert(&BB); in findDependencies() 342 for (auto &BB : F) { in dump() local 343 OS << (shouldInstrumentBlock(BB) ? "* " : " ") << BB.getName() << "\n"; in dump() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/ |
H A D | Mips16ISelLowering.cpp | 511 return BB; in emitSel16() 567 return BB; in emitSel16() 574 return BB; in emitSelT16() 631 return BB; in emitSelT16() 640 return BB; in emitSeliT16() 697 return BB; in emitSeliT16() 706 return BB; in emitFEXT_T8I816_ins() 716 return BB; in emitFEXT_T8I816_ins() 739 return BB; in emitFEXT_T8I8I16_ins() 767 return BB; in emitFEXT_CCRX16_ins() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | InstructionPrecedenceTracking.cpp | 40 const BasicBlock *BB) { in getFirstSpecialInstruction() argument 47 validate(BB); in getFirstSpecialInstruction() 51 fill(BB); in getFirstSpecialInstruction() 54 return FirstSpecialInsts[BB]; in getFirstSpecialInstruction() 58 const BasicBlock *BB) { in hasSpecialInstructions() argument 70 FirstSpecialInsts.erase(BB); in fill() 71 for (const auto &I : *BB) { in fill() 112 FirstSpecialInsts.erase(BB); in insertInstructionTo() 116 auto *BB = Inst->getParent(); in removeInstruction() local 118 if (FirstSpecialInsts.count(BB) && FirstSpecialInsts[BB] == Inst) in removeInstruction() [all …]
|
H A D | CFG.cpp | 37 if (succ_empty(BB)) in FindFunctionBackedges() 44 Visited.insert(BB); in FindFunctionBackedges() 45 VisitStack.push_back(std::make_pair(BB, succ_begin(BB))); in FindFunctionBackedges() 46 InStack.insert(BB); in FindFunctionBackedges() 54 BB = *I++; in FindFunctionBackedges() 60 if (InStack.count(BB)) in FindFunctionBackedges() 66 InStack.insert(BB); in FindFunctionBackedges() 67 VisitStack.push_back(std::make_pair(BB, succ_begin(BB))); in FindFunctionBackedges() 166 if (BB == StopBB) in isPotentiallyReachableFromMany() 198 Worklist.append(succ_begin(BB), succ_end(BB)); in isPotentiallyReachableFromMany() [all …]
|
H A D | BranchProbabilityInfo.cpp | 231 for (const auto *BB : Scc) { in SccInfo() local 233 SccNums[BB] = SccNum; in SccInfo() 241 auto SccIt = SccNums.find(BB); in getSCCNum() 252 if (isSCCHeader(BB, SccNum)) in getSccEnterBlocks() 318 : BB(BB) { in LoopBlock() 319 LD.first = LI.getLoopFor(BB); in LoopBlock() 444 setEdgeProbability(BB, BP); in calcMetadataWeights() 508 setEdgeProbability(BB, BP); in calcMetadataWeights() 786 return hasNoReturn(BB) in getInitialEstimatedBlockWeight() 798 for (const auto &I : *BB) in getInitialEstimatedBlockWeight() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | ADCE.cpp | 103 BasicBlock *BB = nullptr; member 131 bool isLive(BasicBlock *BB) { return BlockInfo[BB].Live; } in isLive() argument 170 void markLive(BasicBlock *BB) { markLive(BlockInfo[BB]); } in markLive() argument 230 for (auto &BB : F) { in initialize() local 231 NumInsts += BB.size(); in initialize() 233 Info.BB = &BB; in initialize() 271 void completed(BasicBlock *BB) { (*this)[BB] = false; } in initialize() argument 404 markLive(BB); in markLive() 647 makeUnconditional(BB, PreferredSucc->BB); in updateDeadRegions() 683 for (auto &BB : F) { in computeReversePostOrder() local [all …]
|
H A D | JumpThreading.cpp | 318 for (auto &BB : *F) in runImpl() 343 if (&BB == &F->getEntryBlock() || DTU->isBBPendingDeletion(&BB)) in runImpl() 759 if (PN && PN->getParent() == BB && !LoopHeaders.contains(BB)) { in computeValueKnownInPredecessorsImpl() 964 (pred_empty(BB) && BB != &BB->getParent()->getEntryBlock())) in processBlock() 1907 SinglePred == BB || hasAddressTakenAndUsed(BB)) in maybeMergeBasicBlockIntoOnlyPred() 2250 TTI, BB, BB->getTerminator(), BBDupThreshold); in maybethreadThroughTwoBasicBlocks() 2367 TTI, BB, BB->getTerminator(), BBDupThreshold); in tryThreadEdge() 2413 BB->getParent(), BB); in threadEdge() 2641 TTI, BB, BB->getTerminator(), BBDupThreshold); in duplicateCondBranchOnPHIIntoPred() 2773 BB->getParent(), BB); in unfoldSelectInstr() [all …]
|
H A D | LoopSimplifyCFG.cpp | 85 Current->removeBlockFromLoop(BB); in removeBlockFromLoops() 93 for (BasicBlock *BB : BBs) { in getInnermostLoopFor() 94 Loop *BBL = LI.getLoopFor(BB); in getInnermostLoopFor() 191 BasicBlock *BB = *I; in hasIrreducibleCFG() local 223 BasicBlock *BB = *I; in analyze() local 299 BasicBlock *BB = *I; in analyze() local 300 if (BlockIsInLoop(BB)) in analyze() 366 for (auto &PN : BB->phis()) in handleDeadExits() 448 if (LI.isLoopHeader(BB)) { in deleteDeadLoopBlocks() 466 LI.removeBlock(BB); in deleteDeadLoopBlocks() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineSSAUpdater.cpp | 76 getAvailableVals(AV)[BB] = V; in AddAvailableValue() 88 if (BB->empty()) in LookForIdenticalPHI() 152 if (!HasValueForBlock(BB)) in GetValueInMiddleOfBlock() 156 if (BB->pred_empty()) { in GetValueInMiddleOfBlock() 162 BB, BB->getFirstTerminator(), in GetValueInMiddleOfBlock() 199 MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->begin(); in GetValueInMiddleOfBlock() 259 static BlkSucc_iterator BlkSucc_begin(BlkT *BB) { return BB->succ_begin(); } in BlkSucc_begin() argument 260 static BlkSucc_iterator BlkSucc_end(BlkT *BB) { return BB->succ_end(); } in BlkSucc_end() argument 304 BB, BB->getFirstNonPHI(), in GetUndefVal() 314 MachineBasicBlock::iterator Loc = BB->empty() ? BB->end() : BB->begin(); in CreateEmptyPHI() [all …]
|
H A D | UnreachableBlockElim.cpp | 111 for (MachineBasicBlock &BB : F) { in runOnMachineFunction() 113 if (!Reachable.count(&BB)) { in runOnMachineFunction() 114 DeadBlocks.push_back(&BB); in runOnMachineFunction() 117 if (MLI) MLI->removeBlock(&BB); in runOnMachineFunction() 118 if (MDT && MDT->getNode(&BB)) MDT->eraseNode(&BB); in runOnMachineFunction() 120 while (!BB.succ_empty()) { in runOnMachineFunction() 133 BB.removeSuccessor(BB.succ_begin()); in runOnMachineFunction() 141 for (auto &I : BB->instrs()) in runOnMachineFunction() 145 BB->eraseFromParent(); in runOnMachineFunction() 149 for (MachineBasicBlock &BB : F) { in runOnMachineFunction() [all …]
|
H A D | WasmEHPrepare.cpp | 178 if (!pred_empty(BB)) in eraseDeadBBsAndChildren() 180 WL.append(succ_begin(BB), succ_end(BB)); in eraseDeadBBsAndChildren() 181 DeleteDeadBlock(BB); in eraseDeadBBsAndChildren() 211 BB->erase(std::next(BasicBlock::iterator(ThrowI)), BB->end()); in prepareThrows() 212 IRB.SetInsertPoint(BB); in prepareThrows() 226 for (BasicBlock &BB : F) { in prepareEHPads() 227 if (!BB.isEHPad()) in prepareEHPads() 296 prepareEHPad(BB, false); in prepareEHPads() 307 IRB.SetInsertPoint(BB, BB->getFirstInsertionPt()); in prepareEHPad() 385 for (const auto &BB : *F) { in calculateWasmEHInfo() [all …]
|
H A D | IfConversion.cpp | 671 if (TrueBBI.BB == FalseBBI.BB) in ValidTriangle() 938 TrueBBICalc.BB = TrueBBI.BB; in ValidForkedDiamond() 939 FalseBBICalc.BB = FalseBBI.BB; in ValidForkedDiamond() 966 if (TrueBBI.BB == FalseBBI.BB) in ValidDiamond() 1002 TrueBBICalc.BB = TrueBBI.BB; in ValidDiamond() 1003 FalseBBICalc.BB = FalseBBI.BB; in ValidDiamond() 1229 BBI.BB = BB; in AnalyzeBlock() 1247 if (BBI.TrueBB == BB || BBI.FalseBB == BB) { in AnalyzeBlock() 2056 BBI.BB->removeSuccessor(TrueBBI.BB); in IfConvertDiamond() 2057 BBI.BB->removeSuccessor(FalseBBI.BB, true); in IfConvertDiamond() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | CFG.h | 110 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } in pred_begin() argument 119 return pred_begin(BB) == pred_end(BB); in pred_empty() 124 return std::distance(pred_begin(BB), pred_end(BB)); in pred_size() 127 return pred_range(pred_begin(BB), pred_end(BB)); in predecessors() 130 return const_pred_range(pred_begin(BB), pred_end(BB)); in predecessors() 281 return succ_begin(BB) == succ_end(BB); in succ_empty() 284 return std::distance(succ_begin(BB), succ_end(BB)); in succ_size() 287 return succ_range(succ_begin(BB), succ_end(BB)); in successors() 290 return const_succ_range(succ_begin(BB), succ_end(BB)); in successors() 304 static NodeRef getEntryNode(BasicBlock *BB) { return BB; } [all …]
|
H A D | InstIterator.h | 54 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} in InstIterator() 58 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} in InstIterator() 62 if (BB != BBs->end()) { in InstIterator() 63 BI = BB->begin(); in InstIterator() 80 return BB == y.BB && (BB == BBs->end() || BI == y.BI); 96 while (BB == BBs->end() || BI == BB->begin()) { 97 --BB; 98 BI = BB->end(); 113 while (BI == BB->end()) { in advanceToNextBB() 114 ++BB; in advanceToNextBB() [all …]
|
H A D | PredIteratorCache.h | 42 BasicBlock **GetPreds(BasicBlock *BB) { in GetPreds() argument 43 BasicBlock **&Entry = BlockToPredsMap[BB]; in GetPreds() 47 SmallVector<BasicBlock *, 32> PredCache(predecessors(BB)); in GetPreds() 50 BlockToPredCountMap[BB] = PredCache.size() - 1; in GetPreds() 57 unsigned GetNumPreds(BasicBlock *BB) const { in GetNumPreds() argument 58 auto Result = BlockToPredCountMap.find(BB); in GetNumPreds() 61 return BlockToPredCountMap[BB] = pred_size(BB); in GetNumPreds() 65 size_t size(BasicBlock *BB) const { return GetNumPreds(BB); } in size() argument 66 ArrayRef<BasicBlock *> get(BasicBlock *BB) { in get() argument 67 return ArrayRef(GetPreds(BB), GetNumPreds(BB)); in get()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | EHUtils.h | 26 auto GetStatus = [&](BlockT *BB) { in computeEHOnlyBlocks() 27 if (Statuses.contains(BB)) in computeEHOnlyBlocks() 28 return Statuses[BB]; in computeEHOnlyBlocks() 56 for (auto &BB : F) { in computeEHOnlyBlocks() 57 if (BB.isEHPad()) { in computeEHOnlyBlocks() 58 AddSuccesors(&BB); in computeEHOnlyBlocks() 59 Statuses[&BB] = EH; in computeEHOnlyBlocks() 65 auto *BB = *WorkList.begin(); in computeEHOnlyBlocks() local 66 WorkList.erase(BB); in computeEHOnlyBlocks() 77 AddSuccesors(BB); in computeEHOnlyBlocks() [all …]
|
H A D | InstructionPrecedenceTracking.h | 37 void fill(const BasicBlock *BB); 43 void validate(const BasicBlock *BB) const; 58 bool hasSpecialInstructions(const BasicBlock *BB); 103 const Instruction *getFirstICFI(const BasicBlock *BB) { in getFirstICFI() argument 104 return getFirstSpecialInstruction(BB); in getFirstICFI() 109 bool hasICF(const BasicBlock *BB) { in hasICF() argument 110 return hasSpecialInstructions(BB); in hasICF() 125 const Instruction *getFirstMemoryWrite(const BasicBlock *BB) { in getFirstMemoryWrite() argument 126 return getFirstSpecialInstruction(BB); in getFirstMemoryWrite() 131 bool mayWriteToMemory(const BasicBlock *BB) { in mayWriteToMemory() argument [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VPlanHCFGBuilder.cpp | 87 Loop *LoopForBB = LI->getLoopFor(BB); in setVPBBPredsFromBB() 112 return L && BB == L->getHeader(); in isHeaderBB() 118 Loop *LoopOfBB = LI->getLoopFor(BB); in setRegionPredsFromBB() 183 StringRef Name = isHeaderBB(BB, TheLoop) ? "vector.body" : BB->getName(); in getOrCreateVPBB() 186 BB2VPBB[BB] = VPBB; in getOrCreateVPBB() 189 Loop *LoopOfBB = LI->getLoopFor(BB); in getOrCreateVPBB() 194 if (!isHeaderBB(BB, LoopOfBB)) { in getOrCreateVPBB() 371 for (BasicBlock *BB : RPO) { in buildPlainCFG() 379 if (!isHeaderBB(BB, LoopForBB)) { in buildPlainCFG() 380 setVPBBPredsFromBB(VPBB, BB); in buildPlainCFG() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUUnifyDivergentExitNodes.cpp | 163 for (BasicBlock *BB : ReturningBlocks) { in unifyReturnBlockSet() 167 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlockSet() 170 BB->getTerminator()->eraseFromParent(); in unifyReturnBlockSet() 171 BranchInst::Create(NewRetBlock, BB); in unifyReturnBlockSet() 179 for (BasicBlock *BB : ReturningBlocks) { in unifyReturnBlockSet() 216 PDT.roots(), [&](auto BB) { return !isUniformlyReached(UA, *BB); }); in run() argument 218 for (BasicBlock *BB : PDT.roots()) { in run() 219 if (isa<ReturnInst>(BB->getTerminator())) { in run() 221 ReturningBlocks.push_back(BB); in run() 224 UnreachableBlocks.push_back(BB); in run() [all …]
|
H A D | SIAnnotateControlFlow.cpp | 67 bool isTopOfStack(BasicBlock *BB); 75 bool hasKill(const BasicBlock *BB); 189 for (const Instruction &I : *BB) { in hasKill() 312 assert(Stack.back().first == BB); in closeControlFlow() 314 if (L && L->getHeader() == BB) { in closeControlFlow() 327 BB = SplitBlockPredecessors(BB, Preds, "endcf.split", DT, LI, nullptr, in closeControlFlow() 360 BasicBlock *BB = *I; in runOnFunction() local 364 if (isTopOfStack(BB)) in runOnFunction() 371 if (isTopOfStack(BB)) in runOnFunction() 379 if (isTopOfStack(BB)) { in runOnFunction() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | JumpThreading.h | 114 bool processBlock(BasicBlock *BB); 115 bool maybeMergeBasicBlockIntoOnlyPred(BasicBlock *BB); 116 void updateSSA(BasicBlock *BB, BasicBlock *NewBB, 122 bool tryThreadEdge(BasicBlock *BB, 135 computeValueKnownInPredecessors(Value *V, BasicBlock *BB, 149 bool processThreadableEdges(Value *Cond, BasicBlock *BB, 155 bool processImpliedCondition(BasicBlock *BB); 162 bool tryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB); 163 bool tryToUnfoldSelectInCurrBB(BasicBlock *BB); 165 bool processGuards(BasicBlock *BB); [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 66 for (auto *BB : BBs) { in detachDeadBlocks() local 88 new UnreachableInst(BB->getContext(), BB); in detachDeadBlocks() 107 for (auto *BB : Dead) in DeleteDeadBlocks() local 283 PredBB->splice(PTI->getIterator(), BB, BB->begin(), STI->getIterator()); in MergeBlockIntoPredecessor() 312 new UnreachableInst(BB->getContext(), BB); in MergeBlockIntoPredecessor() 740 BB = BB->getUniqueSuccessor(); in IsBlockFollowedByDeoptOrUnreachable() 785 return SplitBlock(BB, BB->getTerminator(), DT, LI, MSSAU, BBName); in SplitEdge() 849 if (P == BB) in ehAwareSplitEdge() 1338 BB->getContext(), BB->getName() + Suffix, BB->getParent(), BB); in SplitBlockPredecessorsImpl() 1680 *PBB = BB; in SplitBlockAndInsertIfThenElse() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | SafepointIRVerifier.cpp | 87 for (const_pred_iterator PredIt(BB), End(BB, true); PredIt != End; ++PredIt) { in hasLiveIncomingEdge() 101 return DeadBlocks.count(BB); in isDeadBlock() 116 for (const_pred_iterator PredIt(BB), End(BB, true); PredIt != End; ++PredIt) { in hasLiveIncomingEdges() 131 DeadBlocks.insert(&BB); in processFunction() 162 NewDead.push_back(BB); in addDeadBlock() 192 addDeadBlock(BB); in addDeadEdge() 488 bool isMapped(const BasicBlock *BB) const { return BlockMap.contains(BB); } in isMapped() 553 BlockMap[&BB] = BBS; in GCPtrTracker() 570 return BlockMap.lookup(BB); in getBasicBlockState() 628 for (const_pred_iterator PredIt(BB), End(BB, true); PredIt != End; ++PredIt) { in recalculateBBsStates() [all …]
|
/freebsd/contrib/llvm-project/llvm/tools/llvm-stress/ |
H A D | llvm-stress.cpp | 160 : BB(Block), PT(PT), Ran(R), Context(BB->getContext()) { in Modifier() 323 BasicBlock *BB; member 339 : Modifier(BB, PT, R) {} in LoadModifier() 352 : Modifier(BB, PT, R) {} in StoreModifier() 371 : Modifier(BB, PT, R) {} in BinModifier() 415 : Modifier(BB, PT, R) {} in ConstModifier() 466 : Modifier(BB, PT, R) {} in AllocaModifier() 478 : Modifier(BB, PT, R) {} in ExtractElementModifier() 492 : Modifier(BB, PT, R) {} in ShuffModifier() 524 : Modifier(BB, PT, R) {} in InsertElementModifier() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | HotColdSplitting.cpp | 103 if (!succ_empty(&BB)) in blockEndsInUnreachable() 105 if (BB.empty()) in blockEndsInUnreachable() 139 if (BB.isEHPad() || isa<ResumeInst>(BB.getTerminator())) in unlikelyExecuted() 144 for (Instruction &I : BB) in unlikelyExecuted() 171 if (BB.hasAddressTaken() || BB.isEHPad()) in mayExtractBlock() 224 if (ColdBlocks.count(BB)) in isBasicBlockCold() 302 if (succ_empty(BB)) { in getOutliningPenalty() 603 BB == SuggestedEntryPoint || DT.dominates(SuggestedEntryPoint, BB); in takeSingleEntrySubRegion() 605 NextEntryPoint = BB; in takeSingleEntrySubRegion() 666 BB->dump(); in outlineColdRegions() [all …]
|