HomeSort by: relevance | last modified time | path
    Searched refs:Blocks (Results 1 - 25 of 125) sorted by relevancy

1 2 3 4 5

  /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(); }

Completed in 31 milliseconds

1 2 3 4 5