Home
last modified time | relevance | path

Searched full:blocks (Results 1 – 25 of 3011) sorted by relevance

12345678910>>...121

/llvm-project/clang/test/CodeGen/
H A Dblocks-windows.c1 …-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 Dblocks.c12 // 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 Dsample-summary.test6 ; 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 Dcs-sample-nested-profile.test157 ; 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 Dsuppl-instr-with-sample.test98 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 Dsample-overlap.test18 ; 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 Dgeneral.proftext71 # 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 DFunctionLayout.h10 // 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 DMSFCommonTest.cpp55 // 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 DMSFBuilderTest.cpp81 // 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 DThreadSafetyTIL.cpp161 // 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 DThreeWayBranch.cpp32 // 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 Dinline-asm.c2 // 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 DMSFBuilder.h35 /// 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 DMSFCommon.h34 // 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 DWebAssemblyFixIrreducibleControlFlow.cpp19 /// 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 DFixIrreducible.cpp9 // 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 Dmfma.mlir12 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 DMSFBuilder.cpp70 "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 DFunctionLayout.cpp43 : 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 Dno_blocks_no_threads.mlir2 …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 DMsfFile.rst26 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 Dblocks.py69 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 DSampleProfileInference.h42 /// 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 DBasicBlockSections.cpp11 // 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...]

12345678910>>...121