| /llvm-project/clang/test/CodeGen/ |
| H A D | blocks-windows.c | 1 …-DBLOCKS_IN_BLOCKS_DECL -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-IN-BLOCKS-DECL 2 …-DBLOCKS_IN_BLOCKS_DEFN -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-IN-BLOCKS-DEFN 3 …dows -fblocks -fdeclspec -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-NOT-IN-BLOCKS 4 …_IN_BLOCKS_EXTERN -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-NOT-IN-BLOCKS-EXTERN 5 …N_DLLIMPORT -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-NOT-IN-BLOCKS-EXTERN-DLLI… 6 …OCKS_DLLIMPORT -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-NOT-IN-BLOCKS-DLLIMPORT 8 …OCKS_IN_BLOCKS_DECL -Os -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-IN-BLOCKS-DECL 9 …OCKS_IN_BLOCKS_DEFN -Os -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-IN-BLOCKS-DEFN 10 … -fblocks -fdeclspec -Os -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-NOT-IN-BLOCKS 11 …BLOCKS_EXTERN -Os -emit-llvm %s -o - | FileCheck %s -check-prefix CHECK-BLOCKS-NOT-IN-BLOCKS-EXTERN [all …]
|
| /llvm-project/clang/test/Index/ |
| H A D | blocks.c | 12 // CHECK: blocks.c:6:6: FunctionDecl=test:6:6 (Definition) Extent=[6:1 - 10:2] 13 // CHECK: blocks.c:6:13: CompoundStmt= Extent=[6:13 - 10:2] 14 // CHECK: blocks.c:7:3: DeclStmt= Extent=[7:3 - 7:26] 15 // CHECK: blocks.c:7:21: VarDecl=_foo:7:21 (Definition) Extent=[7:3 - 7:25] 16 // CHECK: blocks.c:7:17: TypeRef=struct foo:4:8 Extent=[7:17 - 7:20] 17 // CHECK: blocks.c:8:11: VarDecl=i:8:11 (Definition) Extent=[8:3 - 8:16] 18 // CHECK: blocks.c:8:15: IntegerLiteral= Extent=[8:15 - 8:16] 19 // CHECK: blocks.c:9:3: CallExpr= Extent=[9:3 - 9:65] 20 // CHECK: blocks.c:9:3: BlockExpr= Extent=[9:3 - 9:58] 21 // CHECK: blocks [all...] |
| /llvm-project/llvm/test/tools/llvm-profdata/ |
| H A D | sample-summary.test | 6 ; CHECK-NEXT: Total number of blocks: 11 9 ; CHECK-NEXT: 1 blocks (9.09%) with count >= 2080 account for 1% of the total counts. 10 ; CHECK-NEXT: 1 blocks (9.09%) with count >= 2080 account for 10% of the total counts. 11 ; CHECK-NEXT: 2 blocks (18.18%) with count >= 2064 account for 20% of the total counts. 12 ; CHECK-NEXT: 2 blocks (18.18%) with count >= 2064 account for 30% of the total counts. 13 ; CHECK-NEXT: 3 blocks (27.27%) with count >= 2000 account for 40% of the total counts. 14 ; CHECK-NEXT: 4 blocks (36.36%) with count >= 1437 account for 50% of the total counts. 15 ; CHECK-NEXT: 6 blocks (54.55%) with count >= 1075 account for 60% of the total counts. 16 ; CHECK-NEXT: 6 blocks (54.55%) with count >= 1075 account for 70% of the total counts. 17 ; CHECK-NEXT: 7 blocks (63.6 [all...] |
| H A D | cs-sample-nested-profile.test | 157 ; SUMMARY-NEXT: Total number of blocks: 16 160 ; SUMMARY-NEXT: 1 blocks (6.25%) with count >= 362830 account for 1% of the total counts. 161 ; SUMMARY-NEXT: 1 blocks (6.25%) with count >= 362830 account for 10% of the total counts. 162 ; SUMMARY-NEXT: 1 blocks (6.25%) with count >= 362830 account for 20% of the total counts. 163 ; SUMMARY-NEXT: 1 blocks (6.25%) with count >= 362830 account for 30% of the total counts. 164 ; SUMMARY-NEXT: 1 blocks (6.25%) with count >= 362830 account for 40% of the total counts. 165 ; SUMMARY-NEXT: 2 blocks (12.50%) with count >= 362805 account for 50% of the total counts. 166 ; SUMMARY-NEXT: 2 blocks (12.50%) with count >= 362805 account for 60% of the total counts. 167 ; SUMMARY-NEXT: 2 blocks (12.50%) with count >= 362805 account for 70% of the total counts. 168 ; SUMMARY-NEXT: 2 blocks (12.5 [all...] |
| H A D | suppl-instr-with-sample.test | 98 MIX5-NEXT: Total number of blocks: 9 101 MIX5-NEXT: 1 blocks (11.11%) with count >= 3000 account for 1% of the total counts. 102 MIX5-NEXT: 1 blocks (11.11%) with count >= 3000 account for 10% of the total counts. 103 MIX5-NEXT: 1 blocks (11.11%) with count >= 3000 account for 20% of the total counts. 104 MIX5-NEXT: 1 blocks (11.11%) with count >= 3000 account for 30% of the total counts. 105 MIX5-NEXT: 1 blocks (11.11%) with count >= 3000 account for 40% of the total counts. 106 MIX5-NEXT: 2 blocks (22.22%) with count >= 2000 account for 50% of the total counts. 107 MIX5-NEXT: 2 blocks (22.22%) with count >= 2000 account for 60% of the total counts. 108 MIX5-NEXT: 2 blocks (22.22%) with count >= 2000 account for 70% of the total counts. 109 MIX5-NEXT: 3 blocks (33.3 [all...] |
| H A D | sample-overlap.test | 18 ; OVERLAP0: overlap hot blocks: 12 19 ; OVERLAP0: hot blocks unique in base profile: 0 20 ; OVERLAP0: hot blocks unique in test profile: 0 39 ; OVERLAP1: overlap hot blocks: 12 40 ; OVERLAP1: hot blocks unique in base profile: 0 41 ; OVERLAP1: hot blocks unique in test profile: 0 60 ; OVERLAP2: overlap hot blocks: 12 61 ; OVERLAP2: hot blocks unique in base profile: 0 62 ; OVERLAP2: hot blocks unique in test profile: 0 85 ; OVERLAP3: overlap hot blocks: 1 [all …]
|
| H A D | general.proftext | 71 # DETAILED-SUMMARY: Total number of blocks: 10 74 # DETAILED-SUMMARY: 3 blocks (30.00%) with count >= 576460752303423488 account for 80% of the total counts. 75 # DETAILED-SUMMARY: 4 blocks (40.00%) with count >= 288230376151711744 account for 90% of the total counts. 76 # DETAILED-SUMMARY: 4 blocks (40.00%) with count >= 288230376151711744 account for 95% of the total counts. 77 # DETAILED-SUMMARY: 6 blocks (60.00%) with count >= 72057594037927936 account for 99% of the total counts. 78 # DETAILED-SUMMARY: 6 blocks (60.00%) with count >= 72057594037927936 account for 99.9% of the total counts. 79 # DETAILED-SUMMARY: 6 blocks (60.00%) with count >= 72057594037927936 account for 99.99% of the total counts. 80 # DETAILED-SUMMARY: 6 blocks (60.00%) with count >= 72057594037927936 account for 99.999% of the total counts. 83 # DETAILED-SUMMARY-2: 2 blocks (28.57%) with count >= 1152921504606846976 account for 60% of the total counts. 86 # DETAILED-SUMMARY-3: 2 blocks (28.5 [all...] |
| /llvm-project/bolt/include/bolt/Core/ |
| H A D | FunctionLayout.h | 10 // a function is the order of basic blocks, in which we will arrange them in the 11 // new binary. Normally, when not optimizing for code layout, the blocks of a 13 // fragments. The blocks within a fragment are contiguous, but the fragments 15 // separate the blocks into hot and cold sections. 68 /// A freestanding subset of contiguous blocks of a function. 133 /// the order of basic blocks within each fragment. 135 /// Internally, the function layout stores blocks across fragments contiguously. 137 /// iterate over all blocks of the layout and depend on that order. When 138 /// writing new code, avoid iterating using FunctionLayout::blocks() by 158 BasicBlockListType Blocks; 157 BasicBlockListType Blocks; global() variable 295 iterator_range<block_iterator> blocks() { blocks() function 298 iterator_range<block_const_iterator> blocks() const { blocks() function [all...] |
| /llvm-project/llvm/unittests/DebugInfo/MSF/ |
| H A D | MSFCommonTest.cpp | 55 // So when there are up to 4097 blocks (last index 4096), the final blocks in TEST() 56 // are data blocks. When there are 4098 blocks (last index 4097), there is in TEST() 57 // one terminating FPM block, and when there are 4099 blocks, there are two in TEST() 58 // terminating FPM blocks. Make sure all these cases are handled. in TEST() 60 // With 4096 or 4097 blocks, the last block is a data block so we only have in TEST() 72 // With 4098 blocks, the last block belongs to FPM0 so we should have 2 FPM0 in TEST() 81 // With 4099 blocks, the last block belongs to FPM1 so we should have 2 in TEST() 103 // 1a. When the PDB has <= 4096*8 blocks, there should only be one FPM block. in TEST() 107 EXPECT_EQ(1u, SL.Blocks.size()); in TEST() 108 EXPECT_EQ(SB.FreeBlockMapBlock, SL.Blocks.front()); in TEST() [all …]
|
| H A D | MSFBuilderTest.cpp | 81 // Test that when assigning a stream to a known list of blocks, the blocks in TEST_F() 82 // are correctly marked as used after adding, but no other incorrect blocks in TEST_F() 85 std::vector<uint32_t> Blocks = {4, 5, 6, 7, 8, 9, 10, 11, 12}; in TEST_F() local 86 // Allocate some extra blocks at the end so we can verify that they're free in TEST_F() 88 uint32_t NumBlocks = msf::getMinimumBlockCount() + Blocks.size() + 10; in TEST_F() 93 EXPECT_THAT_EXPECTED(Msf.addStream(Blocks.size() * 4096, Blocks), in TEST_F() 96 for (auto B : Blocks) { in TEST_F() 100 uint32_t FreeBlockStart = Blocks.back() + 1; in TEST_F() 128 auto Blocks = Msf2.getStreamBlocks(0); in TEST_F() local 129 EXPECT_EQ(1U, Blocks.size()); in TEST_F() [all …]
|
| /llvm-project/clang/lib/Analysis/ |
| H A D | 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, in topologicalSort() argument 170 ID = Block->topologicalSort(Blocks, ID); in topologicalSort() 172 // We may lose pointers to unreachable blocks. in topologicalSort() 175 Blocks[BlockID] = this; in topologicalSort() 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, in topologicalFinalSort() argument [all …]
|
| /llvm-project/bolt/lib/Passes/ |
| H A D | ThreeWayBranch.cpp | 32 // New blocks will be added and layout will change, in runOnFunction() 99 std::vector<std::pair<BinaryBasicBlock *, unsigned>> Blocks; in runOnFunction() local 100 Blocks.push_back(std::make_pair(FirstEndpoint, FirstCC)); in runOnFunction() 101 Blocks.push_back(std::make_pair(SecondEndpoint, SecondCC)); in runOnFunction() 102 Blocks.push_back(std::make_pair(ThirdEndpoint, ThirdCC)); in runOnFunction() 104 llvm::sort(Blocks, [&](const std::pair<BinaryBasicBlock *, unsigned> A, in runOnFunction() 109 uint64_t NewSecondBranchCount = Blocks[1].first->getExecutionCount() + in runOnFunction() 110 Blocks[0].first->getExecutionCount(); in runOnFunction() 112 NewSecondBranchCount > Blocks[2].first->getExecutionCount(); in runOnFunction() 116 BB->addSuccessor(Blocks[2].first, Blocks[2].first->getExecutionCount()); in runOnFunction() [all …]
|
| /llvm-project/clang/test/Driver/ |
| H A D | inline-asm.c | 2 // RUN: -### -fsyntax-only -fasm-blocks %s 2> %t 3 // RUN: FileCheck --check-prefix=CHECK-BLOCKS < %t %s 6 // RUN: -### -fsyntax-only -fno-asm-blocks -fasm-blocks %s 2> %t 7 // RUN: FileCheck --check-prefix=CHECK-BLOCKS < %t %s 9 // CHECK-BLOCKS: "-fasm-blocks" 12 // RUN: -### -fsyntax-only -fasm-blocks -fno-asm-blocks %s 2> %t 13 // RUN: FileCheck --check-prefix=CHECK-NO-BLOCKS < %t %s 15 // CHECK-NO-BLOCKS-NOT: "-fasm-blocks"
|
| /llvm-project/llvm/include/llvm/DebugInfo/MSF/ |
| H A D | MSFBuilder.h | 35 /// at least `MinBlockCount` blocks. This is useful when using `MSFBuilder` 37 /// original MSF file's SuperBlock contains the exact number of blocks used 38 /// by the file, so is a good hint as to how many blocks the new MSF file 42 /// is possible, space for all blocks must be allocated beforehand so that 46 /// locate a free block when all available blocks have been exhausted will 56 /// mandatory reserved blocks required by an MSF file. 70 /// list of blocks. This is useful when reading a MSF file and you want a 71 /// particular stream to occupy the original set of blocks. If the given 72 /// blocks are already allocated, or if the number of blocks specified is 74 Expected<uint32_t> addStream(uint32_t Size, ArrayRef<uint32_t> Blocks); [all …]
|
| H A D | MSFCommon.h | 34 // These elements are referred to as blocks. The size of a block may vary 39 // This contains the number of blocks resident in the file system. In 73 /// file as a sequence of (possibly discontiguous) blocks. When we want to read 75 /// reader uses it to determine which blocks in the underlying MSF file contain 80 std::vector<support::ulittle32_t> Blocks; variable 84 /// stream spans 1 or more blocks, each at equally spaced intervals throughout 143 /// Given an MSF with the specified block size and number of blocks, determine 146 /// \p NumBlocks - the total number of blocks in the MSF 149 /// those FPM blocks are unused (a single FPM block can describe the 150 /// allocation status of up to 32,767 blocks, although one appears only [all …]
|
| /llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | 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 81 // Calculates reachability in a region. Ignores branches to blocks outside of 86 ReachabilityGraph(MachineBasicBlock *Entry, const BlockSet &Blocks) in ReachabilityGraph() argument 87 : Entry(Entry), Blocks(Blocks) { in ReachabilityGraph() 90 for (auto *MBB : Blocks) { in ReachabilityGraph() 109 // "Loopers" are blocks that are in a loop. We detect these by finding blocks 113 // Get all blocks that are loop entries. 116 // Get all blocks that enter a particular loop from outside. 126 const BlockSet &Blocks; member in __anonaa7be00e0111::ReachabilityGraph [all …]
|
| /llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | FixIrreducible.cpp | 9 // INPUT CFG: The blocks H and B form an irreducible cycle with two headers. 63 // blocks in S does not change. 71 // specified control flow edges through a set of guard blocks. This also moves 73 // the outgoing blocks, each such PHINode continues to dominate its uses. Since 151 for (auto *BB : Child->blocks()) { in INITIALIZE_PASS_DEPENDENCY() 193 // Add the guard blocks to the new loop. The first guard block is in createNaturalLoopInternal() 196 // header. Since the new loop is already in LoopInfo, the new blocks in createNaturalLoopInternal() 203 for (auto *BB : C.blocks()) { in createNaturalLoopInternal() 226 // Given a set of blocks and headers in an irreducible SCC, convert it into a in createNaturalLoopInternal() 284 // of guard blocks tha in makeReducible() 166 createNaturalLoopInternal(LoopInfo & LI,DominatorTree & DT,Loop * ParentLoop,SetVector<BasicBlock * > & Blocks,SetVector<BasicBlock * > & Headers) createNaturalLoopInternal() argument 254 createNaturalLoop(LoopInfo & LI,DominatorTree & DT,Function * F,SetVector<BasicBlock * > & Blocks,SetVector<BasicBlock * > & Headers) createNaturalLoop() argument 260 createNaturalLoop(LoopInfo & LI,DominatorTree & DT,Loop & L,SetVector<BasicBlock * > & Blocks,SetVector<BasicBlock * > & Headers) createNaturalLoop() argument 272 SetVector<BasicBlock *> Blocks; makeReducible() local [all...] |
| /llvm-project/mlir/test/Conversion/AMDGPUToROCDL/ |
| H A D | mfma.mlir | 12 amdgpu.mfma %arg0 * %arg0 + %arg1 { abid = 0 : i32, cbsz = 0 : i32, k = 1 : i32, m = 32 : i32, n = 32 : i32, blocks = 2 : i32 } blgp = none : f32, f32, vector<32xf32> 14 amdgpu.mfma %arg0 * %arg0 + %arg2 { abid = 0 : i32, cbsz = 0 : i32, k = 1 : i32, m = 16 : i32, n = 16 : i32, blocks = 4 : i32 } blgp = none : f32, f32, vector<16xf32> 16 amdgpu.mfma %arg0 * %arg0 + %arg3 { abid = 0 : i32, cbsz = 0 : i32, k = 1 : i32, m = 4 : i32, n = 4 : i32, blocks = 16 : i32 } blgp = none : f32, f32, vector<4xf32> 18 amdgpu.mfma %arg0 * %arg0 + %arg2 { abid = 0 : i32, cbsz = 0 : i32, k = 2 : i32, m = 32 : i32, n = 32 : i32, blocks = 1 : i32 } blgp = none : f32, f32, vector<16xf32> 20 amdgpu.mfma %arg0 * %arg0 + %arg3 { abid = 0 : i32, cbsz = 0 : i32, k = 4 : i32, m = 16 : i32, n = 16 : i32, blocks = 1 : i32 } blgp = none : f32, f32, vector<4xf32> 22 amdgpu.mfma %arg4 * %arg4 + %arg1 { abid = 0 : i32, cbsz = 0 : i32, k = 4 : i32, m = 32 : i32, n = 32 : i32, blocks = 2 : i32 } blgp = none : vector<4xf16>, vector<4xf16>, vector<32xf32> 24 amdgpu.mfma %arg4 * %arg4 + %arg2 { abid = 0 : i32, cbsz = 0 : i32, k = 4 : i32, m = 16 : i32, n = 16 : i32, blocks = 4 : i32 } blgp = none : vector<4xf16>, vector<4xf16>, vector<16xf32> 26 amdgpu.mfma %arg4 * %arg4 + %arg3 { abid = 0 : i32, cbsz = 0 : i32, k = 4 : i32, m = 4 : i32, n = 4 : i32, blocks = 16 : i32 } blgp = none : vector<4xf16>, vector<4xf16>, vector<4xf32> 28 amdgpu.mfma %arg4 * %arg4 + %arg2 { abid = 0 : i32, cbsz = 0 : i32, k = 8 : i32, m = 32 : i32, n = 32 : i32, blocks = 1 : i32 } blgp = none : vector<4xf16>, vector<4xf16>, vector<16xf32> 30 amdgpu.mfma %arg4 * %arg4 + %arg3 { abid = 0 : i32, cbsz = 0 : i32, k = 16 : i32, m = 16 : i32, n = 16 : i32, blocks [all...] |
| /llvm-project/llvm/lib/DebugInfo/MSF/ |
| H A D | MSFBuilder.cpp | 70 "Cannot grow the number of blocks"); in setBlockMapAddr() 104 MutableArrayRef<uint32_t> Blocks) { in allocateBlocks() argument 112 "There are no free Blocks in the file"); in allocateBlocks() 119 // blocks for each FPM group crossed and mark both blocks from the group as in allocateBlocks() 120 // used. FPM blocks are marked as allocated regardless of whether or not in allocateBlocks() 121 // they ultimately describe the status of blocks in the file. This means in allocateBlocks() 122 // that not only are extraneous blocks at the end of the main FPM marked as in allocateBlocks() 123 // allocated, but also blocks from the alternate FPM are always marked as in allocateBlocks() 136 assert(Block != -1 && "We ran out of Blocks!"); in allocateBlocks() 139 Blocks[I++] = NextBlock; in allocateBlocks() [all …]
|
| /llvm-project/bolt/lib/Core/ |
| H A D | FunctionLayout.cpp | 43 : Blocks(Other.Blocks) { in FunctionLayout() 52 : Fragments(std::move(Other.Fragments)), Blocks(std::move(Other.Blocks)) { in FunctionLayout() 58 Blocks = Other.Blocks; in operator =() 69 Blocks = std::move(Other.Blocks); in operator =() 102 BB->setLayoutIndex(Blocks.size()); in addBasicBlock() 103 Blocks in addBasicBlock() [all...] |
| /llvm-project/mlir/test/Conversion/SCFToGPU/ |
| H A D | no_blocks_no_threads.mlir | 2 …ine-for-to-gpu{gpu-block-dims=1 gpu-thread-dims=0}))" %s | FileCheck --check-prefix=CHECK-BLOCKS %s 5 // CHECK-BLOCKS-LABEL: @one_d_loop 14 // CHECK-BLOCKS-NEXT: %{{.*}} = arith.constant 0 : index 15 // CHECK-BLOCKS-NEXT: %{{.*}} = arith.constant 42 : index 16 // CHECK-BLOCKS-NEXT: %[[BOUND:.*]] = arith.subi %{{.*}}, %{{.*}} : index 17 // CHECK-BLOCKS-NEXT: %{{.*}} = arith.constant 1 : index 18 // CHECK-BLOCKS-NEXT: %[[ONE:.*]] = arith.constant 1 : index 20 …// CHECK-THREADS-NEXT: gpu.launch blocks(%[[B0:.*]], %[[B1:.*]], %[[B2:.*]]) in (%{{.*}} = %[[ONE]… 21 …// CHECK-BLOCKS-NEXT: gpu.launch blocks(%[[B0:.*]], %[[B1:.*]], %[[B2:.*]]) in (%{{.*}} = %[[BOUND… 25 // CHECK-BLOCKS-NEXT: %[[INDEX:.*]] = arith.addi %{{.*}}, %[[B0]] [all …]
|
| /llvm-project/llvm/docs/PDB/ |
| H A D | MsfFile.rst | 26 4. ``SuperBlock::BlockSize - 3`` blocks of data 43 LLVM only supports 4096 byte blocks (sometimes referred to as the "BigMsf" 72 a bitfield representing the set of all blocks within the file which are "free" 76 - **NumBlocks** - The total number of blocks in the file. ``NumBlocks * 80 blocks that it occupies. It will be described in more detail later. 82 an array of ``ulittle32_t``'s listing the blocks that the stream directory 86 contains the list of blocks that the stream directory occupies, and the stream 97 series of blocks which contains a bit flag for every block in the file. The 107 The Free Block Maps are stored as a series of single blocks throughout the file 109 bytes, it contains 8 times as many bits as an interval has blocks. This means [all …]
|
| /llvm-project/mlir/test/python/ir/ |
| H A D | blocks.py | 69 blocks = op.regions[0].blocks 72 blocks.append(f32) 73 blocks.append() 79 blocks.append(f32) 85 blocks.append(f32, f32, arg_locs=[Location.unknown()]) 109 assert f.body.blocks[0] == entry_block 157 blocks = op.regions[0].blocks 158 blocks.append() 161 blocks[0].add_argument(f32, loc) 173 blocks = op.regions[0].blocks [all …]
|
| /llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | SampleProfileInference.h | 42 /// A wrapper of a jump between two basic blocks. 52 /// A wrapper of binary function with basic blocks and jumps. 54 /// Basic blocks in the function. 55 std::vector<FlowBlock> Blocks; member 56 /// Jumps between the basic blocks. 138 /// Initialize flow function blocks, jumps and misc metadata. 158 /// Map basic blocks to their sampled weights. 165 // Find all forwards reachable blocks which the inference algorithm will be in apply() 169 (void)BB /* Mark all reachable blocks */; in apply() 171 // Find all backwards reachable blocks whic in apply() [all...] |
| /llvm-project/llvm/lib/CodeGen/ |
| H A D | BasicBlockSections.cpp | 11 // The purpose of this pass is to assign sections to basic blocks when 13 // only the subset of basic blocks with profiles are placed in separate sections 14 // and the rest are grouped in a cold section. The exception handling blocks are 21 // clusters of basic blocks. Every cluster will be emitted into a separate 22 // section with its basic blocks sequenced in the given order. To get the 28 // of 6 basic blocks 0, 1, ..., 5). 33 // * Basic blocks 0 and 2 are placed in one section with symbol `foo` 35 // * Basic blocks 1, 3, 5 are placed in a separate section. A new symbol 66 // the corresponding basic blocks. This logic is implemented in AsmPrinter. This 120 /// Identify basic blocks tha [all...] |