| /src/external/apache2/llvm/dist/llvm/include/llvm/XRay/ |
| Profile.h | 40 /// instance, aggregating blocks by Thread ID. 44 /// instance, aggregating blocks by function call stack. 89 : Blocks(std::move(O.Blocks)), NodeStorage(std::move(O.NodeStorage)), 94 Blocks = std::move(O.Blocks); 107 swap(L.Blocks, R.Blocks); 124 // List of blocks associated with a Profile. 125 BlockList Blocks; [all...] |
| /src/external/apache2/llvm/dist/clang/lib/Analysis/ |
| ThreadSafetyTIL.cpp | 161 // Sorts the CFGs blocks using a reverse post-order depth-first traversal. 162 // Each block will be written into the Blocks array in order, and its BlockID 164 // block, and ID should be the total number of blocks. 165 unsigned BasicBlock::topologicalSort(SimpleArray<BasicBlock *> &Blocks, 170 ID = Block->topologicalSort(Blocks, ID); 172 // We may lose pointers to unreachable blocks. 175 Blocks[BlockID] = this; 181 // which guarantees that all blocks are serialized after their dominator and 187 // and no blocks are accessible via traversal of back-edges from the exit that 189 unsigned BasicBlock::topologicalFinalSort(SimpleArray<BasicBlock *> &Blocks, [all...] |
| PostOrderCFGView.cpp | 1 //===- PostOrderCFGView.cpp - Post order view of CFG blocks ---------------===// 9 // This file implements post order view of the blocks in a CFG. 22 Blocks.reserve(cfg->getNumBlockIDs()); 27 BlockOrder[*I] = Blocks.size() + 1; 28 Blocks.push_back(*I);
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| EdgeBundles.h | 32 /// Blocks - Map each bundle to a list of basic block numbers. 33 SmallVector<SmallVector<unsigned, 8>, 4> Blocks; 46 /// getBlocks - Return an array of blocks that are connected to Bundle. 47 ArrayRef<unsigned> getBlocks(unsigned Bundle) const { return Blocks[Bundle]; }
|
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| MachinePostDominators.cpp | 52 ArrayRef<MachineBasicBlock *> Blocks) const { 53 assert(!Blocks.empty()); 55 MachineBasicBlock *NCD = Blocks.front(); 56 for (MachineBasicBlock *BB : Blocks.drop_front()) {
|
| EdgeBundles.cpp | 57 Blocks.clear(); 58 Blocks.resize(getNumBundles()); 63 Blocks[b0].push_back(i); 65 Blocks[b1].push_back(i);
|
| InterferenceCache.h | 44 /// of PhysReg in all basic blocks. 94 /// Blocks - Interference for each block in the function. 95 SmallVector<BlockInterference, 8> Blocks; 97 /// update - Recompute Blocks[MBBNum] 128 if (Blocks[MBBNum].Tag != Tag) 130 return &Blocks[MBBNum];
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| FlattenCFGPass.cpp | 54 /// iterativelyFlattenCFG - Call FlattenCFG on all the blocks in the function, 60 // Use block handles instead of iterating over function blocks directly 61 // to avoid using iterators invalidated by erasing blocks. 62 std::vector<WeakVH> Blocks; 63 Blocks.reserve(F.size()); 65 Blocks.push_back(&BB); 70 // Loop over all of the basic blocks and try to flatten them. 71 for (WeakVH &BlockHandle : Blocks) { 72 // Skip blocks erased by FlattenCFG. 85 // iterativelyFlattenCFG can make some blocks dead [all...] |
| GVNSink.cpp | 107 /// Iterates through instructions in a set of blocks in reverse order from the 108 /// first non-terminator. For example (assume all blocks have size n): 115 /// It continues until all blocks have been exhausted. Use \c getActiveBlocks() 117 /// determine which blocks are still going and the order they appear in the 120 ArrayRef<BasicBlock *> Blocks; 126 LockstepReverseIterator(ArrayRef<BasicBlock *> Blocks) : Blocks(Blocks) { 133 for (BasicBlock *BB : Blocks) 136 for (BasicBlock *BB : Blocks) { [all...] |
| /src/external/apache2/llvm/dist/clang/include/clang/Analysis/Analyses/ |
| PostOrderCFGView.h | 1 //===- PostOrderCFGView.h - Post order view of CFG blocks -------*- C++ -*-===// 9 // This file implements post order view of the blocks in a CFG. 65 /// This method is for tracking visited blocks in the main threadsafety 74 std::vector<const CFGBlock *> Blocks; 87 iterator begin() { return Blocks.rbegin(); } 88 iterator end() { return Blocks.rend(); } 90 const_iterator begin() const { return Blocks.rbegin(); } 91 const_iterator end() const { return Blocks.rend(); }
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| FixIrreducible.cpp | 9 // An irreducible SCC is one which has multiple "header" blocks, i.e., blocks 22 // INPUT CFG: The blocks A and B form an irreducible loop with two headers. 55 // takes a set of incoming blocks (the predecessors) and outgoing blocks (the 57 // hub. Since the hub dominates all the outgoing blocks, each such PHINode 118 SetVector<BasicBlock *> &Blocks, 127 return L == NewLoop || Blocks.count(L->getHeader()) == 0; 139 for (auto BB : Child->blocks()) { 155 // Given a set of blocks and headers in an irreducible SCC, convert it into [all...] |
| CodeExtractor.cpp | 197 /// Build a set of blocks to extract if the input blocks are viable. 201 assert(!BBs.empty() && "The set of blocks to extract must be non-empty"); 204 // Loop over the blocks, adding them to our set-vector, and aborting with an 205 // empty set if we encounter invalid blocks. 212 llvm_unreachable("Repeated basic blocks in extraction input"); 231 // All blocks other than the first must not have predecessors outside of 235 LLVM_DEBUG(dbgs() << "No blocks in this region may have entries from " 254 Blocks(buildExtractionBlockSet(BBs, DT, AllowVarArgs, AllowAlloca)), 263 Blocks(buildExtractionBlockSet(L.getBlocks(), &DT [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/ |
| WebAssemblyExceptionInfo.h | 47 std::vector<MachineBasicBlock *> Blocks; 73 void addToBlocksVector(MachineBasicBlock *MBB) { Blocks.push_back(MBB); } 75 Blocks.push_back(MBB); 78 ArrayRef<MachineBasicBlock *> getBlocks() const { return Blocks; } 82 inline iterator_range<block_iterator> blocks() const { function in class:llvm::WebAssemblyException 85 unsigned getNumBlocks() const { return Blocks.size(); } 86 std::vector<MachineBasicBlock *> &getBlocksVector() { return Blocks; } 103 void reserveBlocks(unsigned Size) { Blocks.reserve(Size); } 105 std::reverse(Blocks.begin() + From, Blocks.end()) [all...] |
| WebAssemblyFixIrreducibleControlFlow.cpp | 19 /// of blocks with a single entry and no branches back to that entry. A region 37 /// use the "label" helper for the blocks we absolutely must and no others. We 80 // Calculates reachability in a region. Ignores branches to blocks outside of 85 ReachabilityGraph(MachineBasicBlock *Entry, const BlockSet &Blocks) 86 : Entry(Entry), Blocks(Blocks) { 89 for (auto *MBB : Blocks) { 108 // "Loopers" are blocks that are in a loop. We detect these by finding blocks 112 // Get all blocks that are loop entries [all...] |
| /src/external/apache2/llvm/dist/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| FunctionSummary.h | 36 /// Marks the IDs of the basic blocks visited during the analyzes. 39 /// Total number of blocks in the function. 98 llvm::SmallBitVector &Blocks = I->second.VisitedBasicBlocks; 100 if (TotalIDs > Blocks.size()) { 101 Blocks.resize(TotalIDs); 104 Blocks.set(ID); 126 /// Get the percentage of the reachable blocks.
|
| /src/external/apache2/llvm/dist/llvm/tools/llvm-pdbutil/ |
| LinePrinter.cpp | 144 ArrayRef<support::ulittle32_t> Blocks = Layout.Blocks; 145 assert(!Blocks.empty()); 147 uint32_t CurrentBlock = Blocks[0]; 149 while (!Blocks.empty()) { 151 uint32_t NextBlock = Blocks.front(); 160 Blocks = Blocks.drop_front(); 248 auto Blocks = makeArrayRef(StreamLayout.Blocks); [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/DebugInfo/CodeView/ |
| DebugLinesSubsection.cpp | 78 Blocks.emplace_back(Offset); 82 Block &B = Blocks.back(); 93 Block &B = Blocks.back(); 113 for (const auto &B : Blocks) { 139 for (const auto &B : Blocks) {
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/Support/ |
| GenericIteratedDominanceFrontier.h | 49 /// blocks, and optionally, a set of live-in blocks. 70 /// Give the IDF calculator the set of blocks in which the value is 71 /// defined. This is equivalent to the set of starting blocks it should be 75 void setDefiningBlocks(const SmallPtrSetImpl<NodeTy *> &Blocks) { 76 DefBlocks = &Blocks; 79 /// Give the IDF calculator the set of blocks in which the value is 81 /// not include blocks where any phi insertion would be dead. 84 void setLiveInBlocks(const SmallPtrSetImpl<NodeTy *> &Blocks) { 85 LiveInBlocks = &Blocks; [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/DebugInfo/MSF/ |
| MSFBuilder.h | 34 /// at least `MinBlockCount` blocks. This is useful when using `MSFBuilder` 36 /// original MSF file's SuperBlock contains the exact number of blocks used 37 /// by the file, so is a good hint as to how many blocks the new MSF file 41 /// is possible, space for all blocks must be allocated beforehand so that 45 /// locate a free block when all available blocks have been exhausted will 55 /// mandatory reserved blocks required by an MSF file. 69 /// list of blocks. This is useful when reading a MSF file and you want a 70 /// particular stream to occupy the original set of blocks. If the given 71 /// blocks are already allocated, or if the number of blocks specified i [all...] |
| /src/external/apache2/llvm/dist/llvm/tools/bugpoint/ |
| CrashDebugger.cpp | 389 /// unreachable blocks and constant fold terminators without deciding that 400 // Remove unreachable blocks 427 /// all terminators except the specified basic blocks to a 'ret' instruction, 458 SmallPtrSet<BasicBlock *, 8> Blocks; 460 Blocks.insert(cast<BasicBlock>(VMap[BBs[i]])); 462 outs() << "Checking for crash with only these blocks:"; 463 unsigned NumPrint = Blocks.size(); 468 if (NumPrint < Blocks.size()) 469 outs() << "... <" << Blocks.size() << " total>"; 472 // Loop over and delete any hack up any blocks that are not listed.. [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/DebugInfo/MSF/ |
| MSFBuilder.cpp | 69 "Cannot grow the number of blocks"); 103 MutableArrayRef<uint32_t> Blocks) { 111 "There are no free Blocks in the file"); 118 // blocks for each FPM group crossed and mark both blocks from the group as 119 // used. FPM blocks are marked as allocated regardless of whether or not 120 // they ultimately describe the status of blocks in the file. This means 121 // that not only are extraneous blocks at the end of the main FPM marked as 122 // allocated, but also blocks from the alternate FPM are always marked as 135 assert(Block != -1 && "We ran out of Blocks!"); [all...] |
| MappedBlockStream.cpp | 64 SL.Blocks = Layout.StreamMap[StreamIndex]; 75 SL.Blocks = Layout.DirectoryBlocks; 176 if (StreamLayout.Blocks[Last] != StreamLayout.Blocks[Last + 1] - 1) 187 uint32_t MsfOffset = blockToOffset(StreamLayout.Blocks[First], BlockSize); 206 // all subsequent blocks are contiguous. For example, a 10k read with a 4k 208 // 3 blocks in a row are contiguous. 216 uint32_t E = StreamLayout.Blocks[BlockNum]; 218 if (StreamLayout.Blocks[I + BlockNum] != E) 228 uint32_t FirstBlockAddr = StreamLayout.Blocks[BlockNum] [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| LoopInfo.h | 16 // contained entirely within the loop and the basic blocks the make up the loop. 23 // * the successor blocks of the loop 78 // The list of blocks in this loop. First entry is the header node. 79 std::vector<BlockT *> Blocks; 94 /// for consistency with loop depth values used for basic blocks, where depth 95 /// 0 is used for blocks not inside any loops. 170 /// Get a list of the basic blocks which make up this loop. 173 return Blocks; 178 inline iterator_range<block_iterator> blocks() const { function in class:llvm::LoopBase 183 /// Get the number of blocks in this loop in constant time [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/ExecutionEngine/JITLink/ |
| JITLinkMemoryManager.cpp | 81 AllocationMap Blocks; 128 Blocks[KV.first] = std::move(SegMem); 132 new IPMMAlloc(std::move(Blocks)));
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/ADT/ |
| PostOrderIterator.h | 45 // confine a CFG traversal to blocks in a specific loop. 266 // This is used to visit basic blocks in a method in reverse post order. This 274 // BasicBlocks are removed, *but* it may contain erased blocks. Some places 293 std::vector<NodeRef> Blocks; // Block list in normal PO order 296 std::copy(po_begin(G), po_end(G), std::back_inserter(Blocks)); 306 rpo_iterator begin() { return Blocks.rbegin(); } 307 const_rpo_iterator begin() const { return Blocks.crbegin(); } 308 rpo_iterator end() { return Blocks.rend(); } 309 const_rpo_iterator end() const { return Blocks.crend(); }
|