/llvm-project/libc/src/__support/ |
H A D | block.h | 1 //===-- Implementation header for a block of memory -------------*- C++ -*-===// 45 /// is also the block's size. in align_down() 48 /// This also implies that block outer sizes are aligned to max_align_t. 50 /// As an example, the diagram below represents two contiguous `Block`s. The in align_up() 54 /// Block 1: 62 /// Block 2: 72 /// As a space optimization, when a block is allocated, it consumes the prev 73 /// field of the following block: 75 /// Block 1 (used): 83 /// Block 213 next_block(const Block * block) next_block() argument 222 prev_block(const Block * block) prev_block() argument 302 Block *block; global() member 399 Block *block = as_block(0, region); init() local 405 free(Block * & block) free() argument 434 allocate(Block * block,size_t alignment,size_t size) allocate() argument 483 split(Block * & block,size_t new_inner_size) split() argument 503 split_impl(Block * & block,size_t new_inner_size) split_impl() argument 521 merge_next(Block * & block) merge_next() argument 566 constexpr Block<OffsetType, kAlign>::Block(size_t prev_outer_size, Block() function 577 as_bytes(Block * && block) as_bytes() argument [all...] |
/llvm-project/bolt/test/X86/ |
H A D | pseudoprobe-decoding-inline.test | 53 CHECK: [Probe]: FUNC: bar Index: 1 Type: Block 54 CHECK: [Probe]: FUNC: bar Index: 4 Type: Block 55 CHECK: [Probe]: FUNC: foo Index: 1 Type: Block 56 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block 57 CHECK: [Probe]: FUNC: foo Index: 5 Type: Block 58 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block 59 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block 60 CHECK: [Probe]: FUNC: foo Index: 3 Type: Block 61 CHECK: [Probe]: FUNC: foo Index: 4 Type: Block 62 CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inline [all...] |
H A D | pseudoprobe-decoding-noinline.test | 52 CHECK: [Probe]: FUNC: bar Index: 1 Type: Block 53 CHECK: [Probe]: FUNC: bar Index: 4 Type: Block 54 CHECK: [Probe]: FUNC: foo Index: 1 Type: Block 55 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block 56 CHECK: [Probe]: FUNC: foo Index: 5 Type: Block 57 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block 58 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block 59 CHECK: [Probe]: FUNC: foo Index: 3 Type: Block 60 CHECK: [Probe]: FUNC: foo Index: 4 Type: Block 62 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block [all...] |
/llvm-project/clang/docs/ |
H A D | BlockLanguageSpec.rst | 2 .. role:: block-term 16 - 2008/8/13 --- revised, Block globals 28 The Block Type 31 Like function types, the :block-term:`Block type` is a pair consisting 40 .. code-block:: c 44 describes a reference to a Block that, when invoked, takes two 46 returns a value of type int. The Block referenced is of opaque data 50 Block Variable Declarations 53 A :block-term:`variable with Block type` is declared using function 55 valid Block variable declarations: [all …]
|
/llvm-project/mlir/lib/Analysis/ |
H A D | Liveness.cpp | 14 #include "mlir/IR/Block.h" 26 /// Builds and holds block information during the construction phase. 30 /// Constructs an empty block builder. 33 /// Fills the block builder with initial liveness information. 34 BlockInfoBuilder(Block *block) : block(block) { in BlockInfoBuilder() 37 // this block). Due to the SSA properties of the program, the uses must in BlockInfoBuilder() 41 Block *ownerBlock = useOp->getBlock(); in BlockInfoBuilder() 42 // Find an owner block in the current region. Note that a value does not in BlockInfoBuilder() 43 // escape this block if it is used in a nested region. in BlockInfoBuilder() 44 ownerBlock = block->getParent()->findAncestorBlockInRegion(*ownerBlock); in BlockInfoBuilder() [all …]
|
/llvm-project/lldb/include/lldb/Symbol/ |
H A D | Block.h | 1 //===-- Block.h -------------------------------------------------*- C++ -*-===// 25 /// \class Block Block.h "lldb/Symbol/Block.h" 26 /// A class that describes a single lexical block. 29 /// Block objects. The BlockList object contains a section offset address 30 /// range, and Block objects contain one or more ranges which are offsets into 32 /// address range, and each block can contain child blocks each with their own 35 /// Each block has a variable list that represents local, argument, and static 36 /// variables that are scoped to the block [all...] |
/llvm-project/llvm/test/CodeGen/MIR/X86/ |
H A D | block-address-operands.mir | 2 # This test ensures that the MIR parser parses the block address operands 11 store volatile ptr blockaddress(@test, %block), ptr @addr 13 indirectbr ptr %val, [label %block] 15 block: 21 store volatile ptr blockaddress(@test2, %"quoted block"), ptr @addr 23 indirectbr ptr %val, [label %"quoted block"] 25 "quoted block": 46 store volatile ptr blockaddress(@test4, %block), ptr @addr 48 indirectbr ptr %val, [label %block] 50 block [all...] |
/llvm-project/mlir/include/mlir/IR/ |
H A D | Dominance.h | 12 // dominator information for any multi-block regions that need it. 25 extern template class llvm::DominatorTreeBase<mlir::Block, false>; 26 extern template class llvm::DominatorTreeBase<mlir::Block, true>; 27 extern template class llvm::DomTreeNodeBase<mlir::Block>; 30 using DominanceInfoNode = llvm::DomTreeNodeBase<Block>; 36 using DomTree = llvm::DominatorTreeBase<Block, IsPostDom>; 52 /// Finds the nearest common dominator block for the two given blocks a 55 Block *findNearestCommonDominator(Block *a, Block * 92 hasSSADominance(Block * block) hasSSADominance() argument [all...] |
H A D | Block.h | 1 //===- Block.h - MLIR Block Class -------------------------------*- C++ -*-===// 9 // This file defines the Block class. 31 /// `Block` represents an ordered list of `Operation`s. 32 class alignas(8) Block : public IRObjectWithUseList<BlockOperand>, 33 public llvm::ilist_node_with_parent<Block, Region> { 35 explicit Block() = default; 36 ~Block(); in clear() 39 // Drop all references from within this block. in clear() 55 /// Returns the closest surrounding operation that contains this block [all...] |
/llvm-project/polly/lib/External/isl/ |
H A D | isl_blk.c | 18 struct isl_blk block; in isl_blk_empty() local 19 block.size = 0; in isl_blk_empty() 20 block.data = NULL; in isl_blk_empty() 21 return block; in isl_blk_empty() 24 static int isl_blk_is_empty(struct isl_blk block) in isl_blk_is_empty() argument 26 return block.size == 0 && block.data == NULL; in isl_blk_is_empty() 31 struct isl_blk block; in isl_blk_error() local 32 block.size = -1; in isl_blk_error() 33 block.data = NULL; in isl_blk_error() 34 return block; in isl_blk_error() [all …]
|
/llvm-project/mlir/lib/Transforms/Utils/ |
H A D | CFGToSCF.cpp | 16 // entry and single exit block into structured control flow operations 25 // single exit block containing an instance of that return-like operation. 46 // entry block and a single latch containing the only back edge to the entry 47 // block and the only edge to an exit block outside the loop. Rerouting control 78 // bbM in the above is the multiplexer block, and any block previously branching 79 // to an entry block of the region are redirected to it. This includes any 80 // branches from within the region. Using a block argument, bbM then dispatches 81 // to the correct entry block of the region dependent on the predecessor. 83 // A similar transformation is done to create the latch block with the single 110 // single entry block is created using a multiplexer block as shown above. [all …]
|
/llvm-project/mlir/lib/IR/ |
H A D | Block.cpp | 1 //===- Block.cpp - MLIR Block Class ---------------------------------------===// 9 #include "mlir/IR/Block.h" 19 // Block in ~Block() 22 Block::~Block() { in ~Block() 29 Region *Block::getParent() const { return parentValidOpOrderPair.getPointer(); } 31 /// Returns the closest surrounding operation that contains this block or in getParentOp() 32 /// nullptr if this block is unlinked. in getParentOp() 33 Operation *Block in getParentOp() 39 insertBefore(Block * block) insertBefore() argument 45 insertAfter(Block * block) insertAfter() argument 53 moveBefore(Block * block) moveBefore() argument 339 SuccessorRange(Block * block) SuccessorRange() argument [all...] |
/llvm-project/llvm/test/Transforms/LoopUnroll/ |
H A D | runtime-loop-multiple-exits.ll | 3 ; RUN: opt < %s -passes=loop-unroll -unroll-runtime -unroll-count=2 -unroll-runtime-epilog=true -unroll-runtime-multi-exit=true -verify-loop-lcssa -verify-dom-info -verify-loop-info -S | FileCheck %s -check-prefixes=CHECK,EPILOG-BLOCK 5 ; RUN: opt < %s -passes=loop-unroll -unroll-runtime -unroll-runtime-epilog=false -unroll-count=2 -unroll-runtime-multi-exit=true -verify-loop-lcssa -verify-dom-info -verify-loop-info -S | FileCheck %s -check-prefixes=CHECK,PROLOG-BLOCK 117 ; EPILOG-BLOCK-LABEL: @test1( 118 ; EPILOG-BLOCK-NEXT: entry: 119 ; EPILOG-BLOCK-NEXT: %0 = freeze i64 %trip 120 ; EPILOG-BLOCK-NEXT: %1 = add i64 %0, -1 121 ; EPILOG-BLOCK-NEXT: %xtraiter = and i64 %0, 1 122 ; EPILOG-BLOCK-NEXT: %2 = icmp ult i64 %1, 1 123 ; EPILOG-BLOCK-NEXT: br i1 %2, label %exit2.loopexit.unr-lcssa, label %entry.new 124 ; EPILOG-BLOCK [all...] |
/llvm-project/mlir/test/IR/ |
H A D | visitors.mlir | 35 // CHECK-LABEL: Block pre-order visits 36 // CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.module' 37 // CHECK: Visiting block ^bb0 from region 0 from operation 'func.func' 38 // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.for' 39 // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.if' 40 // CHECK: Visiting block ^bb0 from region 1 from operation 'scf.if' 60 // CHECK-LABEL: Block post-order visits 61 // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.if' 62 // CHECK: Visiting block ^bb0 from region 1 from operation 'scf.if' 63 // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.for' [all …]
|
/llvm-project/llvm/test/MC/ARM/ |
H A D | unpred-control-flow-in-it-block.s | 4 @ an IT block, but not the last instruction in the block. 8 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 10 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 12 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 16 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 18 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 20 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 24 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 26 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block 28 …]:{{[0-9]+}}: error: instruction must be outside of IT block or the last instruction in an IT block [all …]
|
/llvm-project/lldb/source/Plugins/TraceExporter/common/ |
H A D | TraceHTR.h | 21 /// Metadata associated with an HTR block 25 /// Constructor for a block's metadata. 28 /// The load address of the block's first instruction. 31 /// The total number of instructions in the block. 35 /// the block. 51 /// Get the number of instructions in the block. 54 /// The number of instructions in the block. 57 /// Get the name of the most frequently called function from the block. 60 /// The name of the function that is called the most from this block or 61 /// std::nullopt if no function is called from this block. [all …]
|
/llvm-project/lldb/source/Symbol/ |
H A D | Block.cpp | 1 //===-- Block.cpp ---------------------------------------------------------===// 9 #include "lldb/Symbol/Block.h" 24 Block::Block(Function &function, user_id_t function_uid) in Block() function in Block 25 : Block(function_uid, function) {} in Block() 27 Block::Block(lldb::user_id_t uid, SymbolContextScope &parent_scope) in Block() 31 Block::~Block() = default; in GetDescription() 33 void Block in GetDescription() 130 if (Block *block = block_sp->FindInnermostBlockByOffset(offset)) FindInnermostBlockByOffset() local [all...] |
/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/ |
H A D | select-blockaddress.mir | 13 store ptr blockaddress(@test_blockaddress, %block), ptr @addr 14 indirectbr ptr blockaddress(@test_blockaddress, %block), [label %block] 16 block: ; preds = %0 32 ; CHECK: bb.0 (%ir-block.0): 33 …@test_blockaddress, %ir-block.block), target-flags(aarch64-pageoff, aarch64-nc) blockaddress(@test… 39 ; CHECK-NEXT: bb.1.block (ir-block-address-taken %ir-block.block): 42 ; LARGE: bb.0 (%ir-block.0): 43 … = MOVZXi target-flags(aarch64-g0, aarch64-nc) blockaddress(@test_blockaddress, %ir-block.block), 0 44 …OVZXi]], target-flags(aarch64-g1, aarch64-nc) blockaddress(@test_blockaddress, %ir-block.block), 16 45 …OVKXi]], target-flags(aarch64-g2, aarch64-nc) blockaddress(@test_blockaddress, %ir-block.block), 32 [all …]
|
/llvm-project/compiler-rt/lib/builtins/arm/ |
H A D | umodsi3.S | 48 // This depends on the fixed instruction size of block. 51 // block(shift) implements the test-and-update-quotient core. 95 // Last block, no need to update r2 or r3. 104 #define block(shift) \ macro 109 block(31) 110 block(30) 111 block(29) 112 block(28) 113 block(27) 114 block(26) [all …]
|
H A D | udivmodsi4.S | 49 // This depends on the fixed instruction size of block. 52 // block(shift) implements the test-and-update-quotient core. 100 // Last block, no need to update r3 or r4. 112 #define block(shift) \ macro 118 block(31) 119 block(30) 120 block(29) 121 block(28) 122 block(27) 123 block(26) [all …]
|
/llvm-project/libc/test/src/__support/ |
H A D | block_test.cpp | 1 //===-- Unittests for a block of memory -------------------------*- C++ -*-===// 13 #include "src/__support/block.h" 17 using LIBC_NAMESPACE::Block; 27 auto result = Block::init(bytes); 29 Block *block = *result; 31 EXPECT_EQ(reinterpret_cast<uintptr_t>(block) % alignof(Block), size_t{0}); 32 EXPECT_TRUE(block->is_usable_space_aligned(alignof(max_align_t))); 34 Block *las 50 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 185 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 198 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 205 BlockType *block = nullptr; TEST_FOR_EACH_BLOCK_TYPE() local 217 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 230 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 244 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 274 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 293 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 345 BlockType *block = nullptr; TEST_FOR_EACH_BLOCK_TYPE() local 356 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 372 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 581 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 595 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 612 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 644 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 687 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local 727 BlockType *block = *result; TEST_FOR_EACH_BLOCK_TYPE() local [all...] |
/llvm-project/mlir/include/mlir/Dialect/SPIRV/IR/ |
H A D | SPIRVControlFlowOps.td | 27 let summary = "Unconditional branch to target block."; 30 This instruction must be the last instruction in a block. 49 OpBuilder<(ins "Block *":$successor, CArg<"ValueRange", "{}">:$arguments), 59 /// Returns the block arguments. 76 If Condition is true, branch to true block, otherwise branch to false 77 block. 93 This instruction must be the last instruction in a block. 126 OpBuilder<(ins "Value":$condition, "Block *":$trueBlock, 127 "ValueRange":$trueArguments, "Block *":$falseBlock, 148 /// Returns the target block for the true branch. [all …]
|
/llvm-project/flang/test/Semantics/ |
H A D | blockconstruct01.f90 | 7 block 8 !ERROR: COMMON statement is not allowed in a BLOCK construct 10 end block 17 block 18 !ERROR: EQUIVALENCE statement is not allowed in a BLOCK construct 20 end block 26 block 27 !ERROR: INTENT statement is not allowed in a BLOCK construct 29 end block 34 block [all …]
|
/llvm-project/mlir/lib/Analysis/DataFlow/ |
H A D | DenseAnalysis.cpp | 12 #include "mlir/IR/Block.h" 32 // Visit every operation and block. in initialize() 37 for (Block &block : region) { in initialize() 38 visitBlock(&block); in initialize() 39 for (Operation &op : block) in initialize() 100 // If the containing block is not executable, bail out. in processOperation() 131 void AbstractDenseForwardDataFlowAnalysis::visitBlock(Block *block) { in visitBlock() 132 // If the block i in visitBlock() 48 else if (auto *block = llvm::dyn_cast_if_present<Block *>(point)) visit() local 126 visitBlock(Block * block) visitBlock() argument 273 else if (auto *block = llvm::dyn_cast_if_present<Block *>(point)) visit() local 352 visitBlock(Block * block) visitBlock() argument [all...] |
/llvm-project/llvm/docs/ |
H A D | BlockFrequencyTerminology.rst | 2 LLVM Block Frequency Terminology 11 Block Frequency is a metric for estimating the relative frequency of different 19 outgoing edge. These are called branch probabilities. For a given block, the 26 Weights are relative to the other edges of a given predecessor block. The 32 .. code-block:: llvm 47 The probability of branching from block A to block B is 7/15, and the 48 probability of branching from block A to block C is 8/15. 53 Block Frequency 56 Block frequency is a relative metric that represents the number of times a 57 block executes. The ratio of a block frequency to the entry block frequency is [all …]
|