/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | InstIterator.h | 37 BB_t *BBs; // BasicBlocksType variable 54 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} in InstIterator() 58 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} in InstIterator() 61 : BBs(&m.getBasicBlockList()), BB(BBs->begin()) { // begin ctor in InstIterator() 62 if (BB != BBs->end()) { in InstIterator() 69 : BBs(&m.getBasicBlockList()), BB(BBs->end()) { // end ctor in InstIterator() 80 return BB == y.BB && (BB == BBs->end() || BI == y.BI); 96 while (BB == BBs->end() || BI == BB->begin()) { 107 inline bool atEnd() const { return BB == BBs->end(); } in atEnd() 115 if (BB == BBs->end()) break; in advanceToNextBB()
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | StructuralHash.cpp | 89 // walking the BBs in depth first order and comparing each instruction in in StructuralHash() 110 SmallVector<const BasicBlock *, 8> BBs; 116 BBs.push_back(&F.getEntryBlock()); 117 VisitedBBs.insert(BBs[0]); 118 while (!BBs.empty()) { 119 const BasicBlock *BB = BBs.pop_back_val(); 122 // opcodes into BBs wouldn't affect the hash, only the order of the 130 BBs.push_back(Succ); 40 SmallVector<const BasicBlock *, 8> BBs; update() local
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | IndirectBrExpandPass.cpp | 133 SmallVector<BasicBlock *, 4> BBs; in runImpl() local 162 int BBIndex = BBs.size() + 1; in runImpl() 163 BBs.push_back(&BB); in runImpl() 175 if (BBs.empty()) { in runImpl() 259 auto *SI = SwitchInst::Create(SwitchValue, BBs[0], BBs.size(), SwitchBB); in runImpl() 262 for (int i : llvm::seq<int>(1, BBs.size())) in runImpl() 263 SI->addCase(ConstantInt::get(CommonITy, i + 1), BBs[i]); in runImpl() 269 Updates.reserve(Updates.size() + BBs.size()); in runImpl() 270 for (BasicBlock *BB : BBs) { in runImpl()
|
H A D | WasmEHPrepare.cpp | 175 static void eraseDeadBBsAndChildren(const Container &BBs) { in eraseDeadBBsAndChildren() argument 176 SmallVector<BasicBlock *, 8> WL(BBs.begin(), BBs.end()); in eraseDeadBBsAndChildren()
|
H A D | MachineCSE.cpp | 909 SmallVector<MachineDomTreeNode *, 32> BBs; in PerformSimplePRE() local 913 BBs.push_back(DT->getRootNode()); in PerformSimplePRE() 915 auto Node = BBs.pop_back_val(); in PerformSimplePRE() 916 append_range(BBs, Node->children()); in PerformSimplePRE() 921 } while (!BBs.empty()); in PerformSimplePRE()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/ |
H A D | BlockCoverageInference.h | 78 static std::string getBlockNames(ArrayRef<const BasicBlock *> BBs); 79 static std::string getBlockNames(BlockSet BBs) { in getBlockNames() argument 80 return getBlockNames(ArrayRef<const BasicBlock *>(BBs.begin(), BBs.end())); in getBlockNames()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | SimplifyCFGPass.cpp | 87 performBlockTailMerging(Function &F, ArrayRef<BasicBlock *> BBs, in performBlockTailMerging() argument 93 if (BBs.size() < 2) in performBlockTailMerging() 97 Updates->reserve(Updates->size() + BBs.size()); in performBlockTailMerging() 102 auto *Term = BBs[0]->getTerminator(); in performBlockTailMerging() 107 F.getContext(), Twine("common.") + Term->getOpcodeName(), &F, BBs[0]); in performBlockTailMerging() 112 /*NumReservedValues=*/BBs.size(), in performBlockTailMerging() 128 for (BasicBlock *BB : BBs) { in performBlockTailMerging() 216 for (ArrayRef<BasicBlock *> BBs : make_second_range(Structure)) in tailMergeBlocksWithSimilarFunctionTerminators() 217 Changed |= performBlockTailMerging(F, BBs, DTU ? &Updates : nullptr); in tailMergeBlocksWithSimilarFunctionTerminators()
|
H A D | ConstantHoisting.cpp | 218 SetVector<BasicBlock *> &BBs) { in findBestInsertionSet() argument 219 assert(!BBs.count(Entry) && "Assume Entry is not in BBs"); in findBestInsertionSet() 226 for (auto *BB : BBs) { in findBestInsertionSet() 245 } while (!BBs.count(Node)); in findBestInsertionSet() 278 bool NodeInBBs = BBs.count(Node); in findBestInsertionSet() 284 BBs.clear(); in findBestInsertionSet() 287 BBs.insert(Entry); in findBestInsertionSet() 289 BBs.insert(InsertPts.begin(), InsertPts.end()); in findBestInsertionSet() 324 SetVector<BasicBlock *> BBs; in findConstantInsertionPoint() local 328 BBs.insert(MatInsertPt->getParent()); in findConstantInsertionPoint() [all …]
|
H A D | LoopSink.cpp | 23 // InsertBBs = BBs that uses I 25 // DomBBs = BBs in InsertBBs that are dominated by BB 65 /// Return adjusted total frequency of \p BBs. 73 /// Freq(BBs) = sum(50, 49) = 99 74 /// Even if Freq(BBs) < Freq(Preheader), we will not sink from Preheade to 75 /// BBs as the difference is too small to justify the code size increase. 76 /// To model this, The adjusted Freq(BBs) will be: 77 /// AdjustedFreq(BBs) = 99 / SinkFrequencyPercentThreshold% 78 static BlockFrequency adjustedSumFreq(SmallPtrSetImpl<BasicBlock *> &BBs, 81 for (BasicBlock *B : BBs) in adjustedSumFreq() 80 adjustedSumFreq(SmallPtrSetImpl<BasicBlock * > & BBs,BlockFrequencyInfo & BFI) adjustedSumFreq() argument 177 SmallPtrSet<BasicBlock *, 2> BBs; sinkInstruction() local [all...] |
H A D | PlaceSafepoints.cpp | 664 DenseSet<BasicBlock *> BBs; // new BBs + insertee in InsertSafepointPoll() local 675 scanInlinedCode(&*Start, &*After, Calls, BBs); in InsertSafepointPoll()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | BlockExtractor.cpp | 156 for (auto &BBs : GroupsOfBlocks) { in runOnModule() local 158 for (BasicBlock *BB : BBs) { in runOnModule() 171 CodeExtractorAnalysisCache CEAC(*BBs[0]->getParent()); in runOnModule() 174 LLVM_DEBUG(dbgs() << "Extracted group '" << (*BBs.begin())->getName() in runOnModule() 178 << (*BBs.begin())->getName() << "'\n"); in runOnModule()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | BlockCoverageInference.cpp | 356 BlockCoverageInference::getBlockNames(ArrayRef<const BasicBlock *> BBs) { in getBlockNames() argument 360 if (!BBs.empty()) { in getBlockNames() 361 OS << BBs.front()->getName(); in getBlockNames() 362 BBs = BBs.drop_front(); in getBlockNames() 364 for (auto *BB : BBs) in getBlockNames()
|
/freebsd/contrib/llvm-project/llvm/tools/bugpoint/ |
H A D | CrashDebugger.cpp | 406 void simpleSimplifyCfg(Function &F, SmallVectorImpl<BasicBlock *> &BBs) { in simpleSimplifyCfg() argument 410 for (auto *BB : BBs) { in simpleSimplifyCfg() 467 bool ReduceCrashingBlocks::TestBlocks(std::vector<const BasicBlock *> &BBs) { in TestBlocks() argument 474 for (unsigned i = 0, e = BBs.size(); i != e; ++i) in TestBlocks() 475 Blocks.insert(cast<BasicBlock>(VMap[BBs[i]])); in TestBlocks() 482 outs() << " " << BBs[i]->getName(); in TestBlocks() 537 BBs.clear(); in TestBlocks() 543 BBs.push_back(cast<BasicBlock>(V)); in TestBlocks() 580 std::vector<const BasicBlock *> &BBs) { in TestBlocks() argument 587 for (const auto *BB : BBs) in TestBlocks() [all …]
|
H A D | Miscompilation.cpp | 479 Expected<bool> TestFuncs(const std::vector<BasicBlock *> &BBs); 487 ReduceMiscompiledBlocks::TestFuncs(const std::vector<BasicBlock *> &BBs) { in TestFuncs() argument 491 if (!BBs.empty()) { in TestFuncs() 492 outs() << "but these " << BBs.size() << " blocks are extracted: "; in TestFuncs() 493 for (unsigned i = 0, e = BBs.size() < 10 ? BBs.size() : 10; i != e; ++i) in TestFuncs() 494 outs() << BBs[i]->getName() << " "; in TestFuncs() 495 if (BBs.size() > 10) in TestFuncs() 512 for (unsigned i = 0, e = BBs.size(); i != e; ++i) { in TestFuncs() 513 BasicBlock *BB = cast<BasicBlock>(VMap[BBs[i]]); in TestFuncs()
|
H A D | ExtractFunction.cpp | 371 BugDriver::extractMappedBlocksFromModule(const std::vector<BasicBlock *> &BBs, in extractMappedBlocksFromModule() argument 388 if (!llvm::is_contained(BBs, &BB)) in extractMappedBlocksFromModule() 392 for (BasicBlock *BB : BBs) { in extractMappedBlocksFromModule()
|
H A D | BugDriver.h | 195 /// only detail is that M is actually a module cloned from the one the BBs are 200 extractMappedBlocksFromModule(const std::vector<BasicBlock *> &BBs,
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | DependenceGraphBuilder.h | 44 const BasicBlockListType &BBs) in AbstractDependenceGraphBuilder() argument 45 : Graph(G), DI(D), BBList(BBs) {} in AbstractDependenceGraphBuilder()
|
H A D | DominanceFrontierImpl.h | 136 const SetVector<BlockT *> &BBs = I->second; in print() 138 for (const BlockT *BB : BBs) { in print() 137 const std::set<BlockT *> &BBs = I->second; print() local
|
H A D | RegionInfoImpl.h | 120 // BBs that are not part of any loop are element of the Loop in contains() 870 RegionInfoBase<Tr>::getCommonRegion(SmallVectorImpl<BlockT *> &BBs) const { in getCommonRegion() 871 RegionT *ret = getRegionFor(BBs.back()); in getCommonRegion() 872 BBs.pop_back(); in getCommonRegion() 874 for (BlockT *BB : BBs) 887 getCommonRegion(SmallVectorImpl<BlockT * > & BBs) getCommonRegion() argument
|
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/ |
H A D | SpeculateAnalyses.cpp | 27 SmallVector<const BasicBlock *, 8> BBs; in findBBwithCalls() 38 BBs.emplace_back(&BB); in findBBwithCalls() 40 return BBs; in findBBwithCalls() 28 SmallVector<const BasicBlock *, 8> BBs; findBBwithCalls() local
|
/freebsd/contrib/llvm-project/llvm/tools/llvm-extract/ |
H A D | llvm-extract.cpp | 355 std::vector<BasicBlock *> BBs; in main() local 368 BBs.push_back(&*Res); in main() 370 GroupOfBBs.push_back(BBs); in main()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | BasicBlockUtils.h | 45 /// Replace contents of every block in \p BBs with single unreachable 49 void detachDeadBlocks(ArrayRef <BasicBlock *> BBs, 58 /// no predecessors that are not being deleted themselves. \p BBs must have no 63 void DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs,
|
H A D | CodeExtractor.h | 138 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = nullptr,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 63 ArrayRef<BasicBlock *> BBs, in detachDeadBlocks() argument 66 for (auto *BB : BBs) { in detachDeadBlocks() 101 void llvm::DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, DomTreeUpdater *DTU, in DeleteDeadBlocks() argument 105 SmallPtrSet<BasicBlock *, 4> Dead(BBs.begin(), BBs.end()); in DeleteDeadBlocks() 106 assert(Dead.size() == BBs.size() && "Duplicating blocks?"); in DeleteDeadBlocks() 113 detachDeadBlocks(BBs, DTU ? &Updates : nullptr, KeepOneInputPHIs); in DeleteDeadBlocks() 118 for (BasicBlock *BB : BBs) in DeleteDeadBlocks()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyLowerEmscriptenEHSjLj.cpp | 1379 std::vector<BasicBlock *> BBs; in handleLongjmpableCallsForEmscriptenSjLj() local 1381 BBs.push_back(&BB); in handleLongjmpableCallsForEmscriptenSjLj() 1384 for (unsigned I = 0; I < BBs.size(); I++) { in handleLongjmpableCallsForEmscriptenSjLj() 1385 BasicBlock *BB = BBs[I]; in handleLongjmpableCallsForEmscriptenSjLj() 1532 BBs.push_back(Tail); in handleLongjmpableCallsForEmscriptenSjLj()
|