Home
last modified time | relevance | path

Searched refs:blocks (Results 1 - 25 of 46) sorted by relevance

12

/arkcompiler/runtime_core/compiler/tools/
H A Ddraw_cfg.py60 def __init__(self, method: str, blocks: List[BasicBlock]) -> None:
62 self.blocks = blocks
69 self.blocks = []
74 self.blocks.append(self.block)
80 self.functions.append(Function(self.method, self.blocks))
81 self.blocks = []
134 for block in function.blocks:
136 for block in function.blocks:
/arkcompiler/runtime_core/libpandabase/utils/
H A Dmurmur3_hash.h98 auto blocks = reinterpret_cast<uintptr_t>(key); in MurmurHash3() local
102 j = *reinterpret_cast<uint8_t *>(blocks); in MurmurHash3()
103 blocks += sizeof(uint8_t); in MurmurHash3()
118 // blocks is a pointer to the end of 32bits section in MurmurHash3()
119 auto tail = blocks; in MurmurHash3()
149 auto blocks = reinterpret_cast<uintptr_t>(mutf8_string); in MurmurHash3String() local
155 i = *reinterpret_cast<uint8_t *>(blocks); in MurmurHash3String()
156 blocks += sizeof(uint8_t); in MurmurHash3String()
/arkcompiler/runtime_core/static_core/libpandabase/utils/
H A Dmurmur3_hash.h95 auto blocks = reinterpret_cast<uintptr_t>(key); in MurmurHash3() local
99 j = *reinterpret_cast<uint8_t *>(blocks); in MurmurHash3()
100 blocks += sizeof(uint8_t); in MurmurHash3()
115 // blocks is a pointer to the end of 32bits section in MurmurHash3()
116 auto tail = blocks; in MurmurHash3()
146 auto blocks = reinterpret_cast<uintptr_t>(mutf8String); in MurmurHash3String() local
152 i = *reinterpret_cast<uint8_t *>(blocks); in MurmurHash3String()
153 blocks += sizeof(uint8_t); in MurmurHash3String()
/arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/
H A Dreg_alloc_verifier.cpp142 void InitStates(ArenaUnorderedMap<uint32_t, BlockStates> *blocks, const Graph *graph) in InitStates() argument
150 [[maybe_unused]] auto res = blocks->try_emplace(bb->GetId(), usedRegs, usedVregs, MAX_NUM_STACK_SLOTS, in InitStates()
156 void CheckAllBlocksVisited([[maybe_unused]] const ArenaUnorderedMap<uint32_t, BlockStates> &blocks) in CheckAllBlocksVisited() argument
159 for (auto &blockState : blocks) { in CheckAllBlocksVisited()
218 /* Phi instructions are resolved into moves at the end of predecessor blocks, in Merge()
356 ArenaUnorderedMap<uint32_t, BlockStates> *blocks) in PropagateBlockState()
362 auto &succState = blocks->at(succ->GetId()); in PropagateBlockState()
376 ArenaUnorderedMap<uint32_t, BlockStates> blocks(GetGraph()->GetLocalAllocator()->Adapter()); in RunImpl()
377 InitStates(&blocks, GetGraph()); in RunImpl()
386 blocks in RunImpl()
354 PropagateBlockState(BasicBlock *currentBlock, BlockState *currentState, const ArenaVector<LocationState> &immediates, ArenaUnorderedMap<uint32_t, BlockStates> *blocks) PropagateBlockState() argument
[all...]
H A Dloop_analyzer.h181 static inline bool IsEqualBlocks(const ArenaVector<T> &blocks, const ArenaVector<T> &others) in IsEqualBlocks() argument
183 return blocks.size() == others.size() && std::is_permutation(blocks.begin(), blocks.end(), others.begin()); in IsEqualBlocks()
H A Dlinear_order.h62 void MakeLinearOrder(const T &blocks);
69 // mark pre exit blocks without Retrurn and ReturnVoid instructions
/arkcompiler/runtime_core/static_core/compiler/tests/
H A Dlinear_order_test.cpp73 auto blocks = GetGraph()->GetVectorBlocks(); in Reset() local
74 std::for_each(std::begin(blocks), std::end(blocks), [](BasicBlock *b) { in Reset()
83 const auto &blocks = GetGraph()->GetBlocksLinearOrder(); in GetOrderedBasicBlock() local
84 return *(std::find_if(std::begin(blocks), std::end(blocks), [id](BasicBlock *b) { return b->GetId() == id; }) + in GetOrderedBasicBlock()
91 const auto &blocks = GetGraph()->GetBlocksLinearOrder(); in CheckOrder() local
93 std::find_if(std::begin(blocks), std::end(blocks), [id](BasicBlock *b) { return b->GetId() == id; }) + 1U; in CheckOrder()
95 while (actualIt != std::end(blocks) in CheckOrder()
268 const auto &blocks = graph->GetBlocksLinearOrder(); TEST_F() local
[all...]
H A Dbasicblock_test.cpp25 void CheckVectorEqualSet(Blocks blocks, std::set<T *> &&excepct) in CheckVectorEqualSet() argument
27 ASSERT_EQ(blocks.size(), excepct.size()); in CheckVectorEqualSet()
30 for (auto block : blocks) { in CheckVectorEqualSet()
37 void CheckVectorEqualBlocksIdSet(Blocks blocks, std::vector<int> &&bbIds) in CheckVectorEqualBlocksIdSet() argument
43 CheckVectorEqualSet(std::move(blocks), std::move(bbSet)); in CheckVectorEqualBlocksIdSet()
286 const auto &blocks = GetGraph()->GetBlocksLinearOrder(); in TEST_F() local
289 CheckBlockFalseSuccessorPosition(&BB(2U), blocks); in TEST_F()
290 CheckBlockFalseSuccessorPosition(&BB(3U), blocks); in TEST_F()
347 const auto &blocks = GetGraph()->GetBlocksLinearOrder(); in TEST_F() local
350 CheckBlockFalseSuccessorPosition(&BB(2U), blocks); in TEST_F()
[all...]
/arkcompiler/runtime_core/compiler/optimizer/optimizations/
H A Dmove_constants.cpp130 // method does not mutate user but returns non const basic blocks in GetDominators()
153 for (auto blocks : user_dominating_blocks_) { in FindCommonDominator()
154 if (i >= blocks->size()) { in FindCommonDominator()
158 auto blk = (*blocks)[blocks->size() - i - 1]; in FindCommonDominator()
/arkcompiler/runtime_core/compiler/optimizer/ir/
H A Dgraph_cloner.cpp234 auto it = std::find(unroll_data->blocks->begin(), unroll_data->blocks->end(), back_edge); in SplitBackEdge()
235 ASSERT(it != unroll_data->blocks->end()); in SplitBackEdge()
236 unroll_data->blocks->erase(it); in SplitBackEdge()
244 * - Split loop-header into two blocks, header phis will not be cloned:
259 unroll_data->blocks = allocator->New<ArenaVector<BasicBlock *>>(allocator->Adapter()); in PrepareLoopToUnroll()
260 CHECK_NOT_NULL(unroll_data->blocks); in PrepareLoopToUnroll()
261 unroll_data->blocks->resize(loop->GetBlocks().size()); in PrepareLoopToUnroll()
262 std::copy(loop->GetBlocks().begin(), loop->GetBlocks().end(), unroll_data->blocks->begin()); in PrepareLoopToUnroll()
274 unroll_data->blocks in PrepareLoopToUnroll()
[all...]
H A Dgraph_cloner.h53 ArenaVector<BasicBlock *> *blocks {nullptr};
62 ArenaVector<BasicBlock *> *blocks {nullptr};
128 ASSERT_PRINT(IsLoopSingleBackEdgeExitPoint(loop), "Cloning blocks doesn't have single entry/exit point"); in UnrollLoopBody()
135 CloneBlocksAndInstructions<InstCloneType::CLONE_ALL, true>(*unroll_data->blocks, GetGraph()); in UnrollLoopBody()
179 // Cloned blocks and instructions getters
218 void CloneBlocksAndInstructions(const ArenaVector<BasicBlock *> &blocks, Graph *target_graph) in CloneBlocksAndInstructions() argument
224 for (const auto &block : blocks) { in CloneBlocksAndInstructions()
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/
H A Dmove_constants.cpp156 // method does not mutate user but returns non const basic blocks in GetDominators()
179 for (auto blocks : userDominatingBlocks_) { in FindCommonDominator()
180 if (i >= blocks->size()) { in FindCommonDominator()
184 auto blk = (*blocks)[blocks->size() - i - 1]; in FindCommonDominator()
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/
H A Dgraph_cloner.cpp240 auto it = std::find(unrollData->blocks->begin(), unrollData->blocks->end(), backEdge); in SplitBackEdge()
241 ASSERT(it != unrollData->blocks->end()); in SplitBackEdge()
242 unrollData->blocks->erase(it); in SplitBackEdge()
251 * - Split loop-header into two blocks, header phis will not be cloned:
265 unrollData->blocks = allocator->New<ArenaVector<BasicBlock *>>(allocator->Adapter()); in PrepareLoopToUnroll()
266 unrollData->blocks->resize(loop->GetBlocks().size()); in PrepareLoopToUnroll()
267 std::copy(loop->GetBlocks().begin(), loop->GetBlocks().end(), unrollData->blocks->begin()); in PrepareLoopToUnroll()
279 unrollData->blocks->at(0) = headerSplit; in PrepareLoopToUnroll()
317 for (auto block : *unrollData->blocks) { in UpdateUsersAfterNoSideExitsUnroll()
[all...]
H A Dgraph_cloner.h60 ArenaVector<BasicBlock *> *blocks {nullptr};
70 ArenaVector<BasicBlock *> *blocks {nullptr};
135 ASSERT_PRINT(IsLoopSingleBackEdgeExitPoint(loop), "Cloning blocks doesn't have single entry/exit point"); in UnrollLoopBody()
142 CloneBlocksAndInstructions<InstCloneType::CLONE_ALL, true>(*unrollData->blocks, GetGraph()); in UnrollLoopBody()
211 void CloneBlocksAndInstructions(const ArenaVector<BasicBlock *> &blocks, Graph *targetGraph) in CloneBlocksAndInstructions() argument
217 for (const auto &block : blocks) { in CloneBlocksAndInstructions()
283 // Cloned blocks and instructions getters
H A Dvisualizer_printer.cpp64 void VisualizerPrinter::PrintDependences(const std::string &preffix, const T &blocks) in PrintDependences() argument
67 for (const auto &block : blocks) { in PrintDependences()
H A Dvisualizer_printer.h54 void PrintDependences(const std::string &preffix, const T &blocks);
/arkcompiler/runtime_core/compiler/optimizer/analysis/
H A Dloop_analyzer.h175 static inline bool IsEqualBlocks(const ArenaVector<T> &blocks, const ArenaVector<T> &others) in IsEqualBlocks() argument
177 return blocks.size() == others.size() && std::is_permutation(blocks.begin(), blocks.end(), others.begin()); in IsEqualBlocks()
H A Dlinear_order.cpp100 void LinearOrder::MakeLinearOrder(const T &blocks) in MakeLinearOrder() argument
103 linear_blocks_.reserve(blocks.size()); in MakeLinearOrder()
106 for (auto block : blocks) { in MakeLinearOrder()
188 // Make blocks order sorted by bytecode PC in RunImpl()
204 std::cerr << "There are unreachable blocks:\n"; in RunImpl()
H A Dlinear_order.h62 void MakeLinearOrder(const T &blocks);
/arkcompiler/runtime_core/compiler/tests/
H A Dbasicblock_test.cpp25 void CheckVectorEqualSet(ArenaVector<T *> blocks, std::set<T *> &&excepct) in CheckVectorEqualSet() argument
27 ASSERT_EQ(blocks.size(), excepct.size()); in CheckVectorEqualSet()
30 for (auto block : blocks) { in CheckVectorEqualSet()
36 void CheckVectorEqualBlocksIdSet(ArenaVector<BasicBlock *> blocks, std::vector<int> &&bb_ids) in CheckVectorEqualBlocksIdSet() argument
42 CheckVectorEqualSet(blocks, std::move(bb_set)); in CheckVectorEqualBlocksIdSet()
H A Dloop_analyzer_test.cpp25 void CheckVectorEqualSet(ArenaVector<T *> blocks, std::set<T *> &&excepct) in CheckVectorEqualSet() argument
27 ASSERT_EQ(blocks.size(), excepct.size()); in CheckVectorEqualSet()
30 for (auto block : blocks) { in CheckVectorEqualSet()
36 void CheckVectorEqualBlocksIdSet(ArenaVector<BasicBlock *> blocks, std::vector<int> &&bb_ids) in CheckVectorEqualBlocksIdSet() argument
42 CheckVectorEqualSet(blocks, std::move(bb_set)); in CheckVectorEqualBlocksIdSet()
105 * blocks: B4, B5, B6
110 * blocks: B8, B9, B10, B11
115 * blocks: B3, B7, B12, B13, B14, B15, B16, B17, B18, B19
H A Dunit_test.h147 ArenaVector<BasicBlock *> blocks(graph->GetAllocator()->Adapter()); in GetBlocksById()
149 blocks.push_back(&BB(id)); in GetBlocksById()
151 return blocks; in GetBlocksById()
/arkcompiler/runtime_core/libark_defect_scan_aux/
H A Dgraph.cpp193 auto &blocks = graph_->GetBlocksRPO(); in GetBasicBlockList() local
194 for (auto &bb : blocks) { in GetBasicBlockList()
/arkcompiler/ets_runtime/ecmascript/compiler/
H A Dbytecode_circuit_builder.h158 ChunkVector<BytecodeRegion *> preds; // List of predessesor blocks
159 ChunkVector<BytecodeRegion *> succs; // List of successors blocks
160 ChunkVector<BytecodeRegion *> trys; // List of trys blocks
161 ChunkVector<BytecodeRegion *> catches; // List of catches blocks
194 void EraseThisBlock(ChunkVector<BytecodeRegion *> &blocks) in EraseThisBlock()
196 auto it = std::find(blocks.begin(), blocks.end(), this); in EraseThisBlock()
197 if (it != blocks.end()) { in EraseThisBlock()
198 blocks.erase(it); in EraseThisBlock()
/arkcompiler/runtime_core/static_core/libllvmbackend/transforms/passes/
H A Dloop_peeling.cpp57 for (auto &block : loop->blocks()) { in ContainsDeoptimize()

Completed in 17 milliseconds

12