/arkcompiler/runtime_core/compiler/optimizer/ir/ |
D | basicblock.cpp | 71 for (auto succ : GetSuccsBlocks()) { in SplitBlockAfterInstruction() local 72 succ->ReplacePred(this, new_bb); in SplitBlockAfterInstruction() 83 void BasicBlock::AddSucc(BasicBlock *succ, bool can_add_empty_block) in AddSucc() argument 85 auto it = std::find(succs_.begin(), succs_.end(), succ); in AddSucc() 90 ReplaceSucc(succ, empty_bb); in AddSucc() 91 succ->ReplacePred(this, empty_bb); in AddSucc() 93 succs_.push_back(succ); in AddSucc() 94 succ->GetPredsBlocks().push_back(this); in AddSucc() 111 BasicBlock *BasicBlock::InsertNewBlockToSuccEdge(BasicBlock *succ) in InsertNewBlockToSuccEdge() argument 113 auto block = GetGraph()->CreateEmptyBlock(succ->GetGuestPc()); in InsertNewBlockToSuccEdge() [all …]
|
D | basicblock.h | 197 void AddSucc(BasicBlock *succ, bool can_add_empty_block = false); 199 bool HasSucc(BasicBlock *succ) in HasSucc() argument 201 return std::find(succs_.begin(), succs_.end(), succ) != succs_.end(); in HasSucc() 226 BasicBlock *InsertNewBlockToSuccEdge(BasicBlock *succ); 229 void InsertBlockBeforeSucc(BasicBlock *block, BasicBlock *succ); 341 void RemoveSucc(BasicBlock *succ) in RemoveSucc() argument 343 auto it = std::find(succs_.begin(), succs_.end(), succ); in RemoveSucc() 531 auto succ = GetSuccessor(catch_indexes->at(idx)); in EnumerateCatchHandlers() local 532 while (!succ->IsCatchBegin()) { in EnumerateCatchHandlers() 533 ASSERT(succ->GetSuccsBlocks().size() == 1); in EnumerateCatchHandlers() [all …]
|
D | graph.cpp | 30 for (auto succ : block->GetSuccsBlocks()) { in MarkBlocksRec() local 31 MarkBlocksRec(mrk, succ); in MarkBlocksRec() 222 for (auto succ : block->GetSuccsBlocks()) { in RemoveSuccessors() local 223 RemovePredecessorUpdateDF(succ, block); in RemoveSuccessors() 317 for (auto succ : succs) { in DisconnectBlockRec() local 318 DisconnectBlockRec(succ, remove_last_inst, fix_dom_tree); in DisconnectBlockRec()
|
D | graph_checker.cpp | 171 for ([[maybe_unused]] auto succ : block->GetSuccsBlocks()) { in CheckControlFlow() local 172 …ASSERT_PRINT(CheckBlockHasPredecessor(succ, block), "Block is not a predecessor to its successor"); in CheckControlFlow() 391 for (auto succ : block->GetSuccsBlocks()) { in CheckBlockHasSuccessor() local 392 if (succ == successor) { in CheckBlockHasSuccessor() 757 [[maybe_unused]] auto succ = inst->GetBasicBlock()->GetSuccsBlocks()[0]; in VisitReturn() local 758 ASSERT_DO(succ->IsEndBlock() || succ->IsTryEnd(), in VisitReturn()
|
D | ir_constructor.h | 908 for (auto succ : succs) { in ConstructControlFlow() local 909 bb->AddSucc(bb_map_.at(succ == -1 ? 1 : succ)); in ConstructControlFlow()
|
D | graph_cloner.cpp | 845 auto succ = unroll_data->outer->GetSuccsBlocks().front(); in BuildLoopCloneControlFlow() local 846 succ->ReplacePred(unroll_data->outer, outer_clone); in BuildLoopCloneControlFlow() 847 unroll_data->outer->RemoveSucc(succ); in BuildLoopCloneControlFlow()
|
/arkcompiler/runtime_core/compiler/optimizer/optimizations/ |
D | cleanup.cpp | 111 auto succ = bb->GetSuccessor(0); in RunOnce() local 114 if (succ == bb || succ->GetLoop()->GetPreHeader() == bb) { in RunOnce() 121 if (succ->GetPredsBlocks().size() > 1) { in RunOnce() 125 ASSERT((user->GetBasicBlock() == succ && user->IsPhi()) || user->IsCatchPhi()); in RunOnce() 146 auto succ = bb->GetSuccessor(0); in CheckSpecialTriangle() local 149 if (pred->GetSuccessor(0) == succ || in CheckSpecialTriangle() 150 (pred->GetSuccsBlocks().size() == MAX_SUCCS_NUM && pred->GetSuccessor(1) == succ)) { in CheckSpecialTriangle() 152 for (auto phi : succ->PhiInsts()) { in CheckSpecialTriangle() 197 auto succ = bb->GetSuccessor(0); in ProcessBB() local 207 ASSERT(succ->GetPredsBlocks().size() >= PREDS_BLOCK_NUM); in ProcessBB() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
D | graph_linearizer.cpp | 187 for (auto succ : curRegion->succs_) { in BuildDfsFather() local 188 if (!succ->IsVisited(linearizer_->acc_)) { in BuildDfsFather() 189 succ->SetVisited(linearizer_->acc_); in BuildDfsFather() 190 pendingList_.emplace_back(succ); in BuildDfsFather() 191 dfsFatherIdx_[succ->id_] = dfsTimestamp_[curRegion->id_]; in BuildDfsFather() 289 for (auto succ : curRegion->dominatedRegions_) { in BuildImmediateDominatorDepth() local 290 ASSERT(succ->iDominator_->depth_ != GateRegion::INVALID_DEPTH); in BuildImmediateDominatorDepth() 291 succ->depth_ = succ->iDominator_->depth_ + 1; in BuildImmediateDominatorDepth() 292 pendingList_.emplace_back(succ); in BuildImmediateDominatorDepth() 420 GateRegion* succ = curRegion->succs_[index]; in ComputeLoopNumber() local [all …]
|
D | state_split_linearizer.cpp | 102 for (auto succ : curRegion->succs_) { in Run() local 103 if (!succ->IsVisited(acc_)) { in Run() 104 succ->SetVisited(acc_); in Run() 105 pendingList_.emplace_back(succ); in Run() 258 for (auto succ : curRegion->succs_) { in StoreStateDepend() local 259 auto &edge = map_.GetEdge(curRegion, succ); in StoreStateDepend()
|
D | verifier.cpp | 496 const auto &succ = succList[idx]; in Run() local 497 dfsStack.push({succ, sonList[succ], 0}); in Run() 498 timeIn[succ] = timestamp++; in Run() 499 jumpUp[succ][0] = cur; in Run() 501 auto jumpUpHalf = jumpUp[succ][stepSize - 1]; in Run() 502 jumpUp[succ][stepSize] = jumpUp[jumpUpHalf][stepSize - 1]; in Run()
|
D | scheduler.cpp | 168 const auto &succ = succList[idx]; in Run() local 169 dfsStack.push({succ, sonList[succ], 0}); in Run() 170 timeIn[succ] = timestamp++; in Run() 171 jumpUp[succ][0] = cur; in Run() 173 auto jumpUpHalf = jumpUp[succ][stepSize - 1]; in Run() 174 jumpUp[succ][stepSize] = jumpUp[jumpUpHalf][stepSize - 1]; in Run()
|
D | bytecode_circuit_builder.cpp | 491 for (const auto &succ: bb.succs) { in UpdateCFG() local 492 if (std::count(bb.catchs.cbegin(), bb.catchs.cend(), succ)) { in UpdateCFG() 495 newSuccs.emplace_back(succ); in UpdateCFG() 503 for (auto &succ: bb.succs) { in UpdateCFG() local 504 succ->preds.emplace_back(&bb); in UpdateCFG() 610 for (auto &succ: bb.succs) { in CollectPredsInfo() local 611 succ->numOfStatePreds++; in CollectPredsInfo()
|
/arkcompiler/runtime_core/compiler/optimizer/analysis/ |
D | dominators_tree.cpp | 125 for (auto succ : block->GetSuccsBlocks()) { in DfsNumbering() local 126 if (GetSemi(succ) == DEFAULT_DFS_VAL) { in DfsNumbering() 127 SetParent(succ, block); in DfsNumbering() 128 DfsNumbering(succ); in DfsNumbering() 204 for (auto succ : predecessor->GetSuccsBlocks()) { in UpdateAfterResolverInsertion() local 205 if (succ == resolver) { in UpdateAfterResolverInsertion() 208 if (IsPathBetweenBlocks(succ, successor, resolver)) { in UpdateAfterResolverInsertion()
|
D | liveness_analyzer.cpp | 145 auto succ = *it; in LinearizeBlocks() local 146 if (succ->IsMarked(marker_) || !AllForwardEdgesVisited(succ)) { in LinearizeBlocks() 151 … auto pc_compare = [succ](auto block) { return block->GetGuestPc() > succ->GetGuestPc(); }; in LinearizeBlocks() 153 pending.insert(insert_before, succ); in LinearizeBlocks() 159 auto is_same_or_inner_loop = [succ](auto block) { in LinearizeBlocks() 160 return succ->GetLoop() == block->GetLoop() || block->GetLoop()->IsRoot() || in LinearizeBlocks() 161 succ->GetLoop()->IsInside(block->GetLoop()); in LinearizeBlocks() 164 pending.insert(insert_before, succ); in LinearizeBlocks() 255 for (auto succ : block->GetSuccsBlocks()) { in GetInitInstLiveSet() local 257 if (succ->IsCatchBegin()) { in GetInitInstLiveSet() [all …]
|
D | loop_analyzer.cpp | 84 for (auto succ : block->GetSuccsBlocks()) { in BackEdgeSearch() local 85 if (succ->IsMarked(gray_marker_)) { in BackEdgeSearch() 86 ProcessNewBackEdge(succ, block); in BackEdgeSearch() 87 } else if (!succ->IsMarked(black_marker_)) { in BackEdgeSearch() 88 BackEdgeSearch(succ); in BackEdgeSearch() 420 for (auto succ : block->GetSuccsBlocks()) { in IsLoopSingleBackEdgeExitPoint() local 421 if (succ->GetLoop() != loop) { in IsLoopSingleBackEdgeExitPoint()
|
/arkcompiler/runtime_core/compiler/optimizer/ir_builder/ |
D | ir_builder.cpp | 410 for (auto succ : block->GetSuccsBlocks()) { in MarkNormalControlFlow() local 411 if (!succ->IsMarked(marker)) { in MarkNormalControlFlow() 412 MarkNormalControlFlow(succ, marker); in MarkNormalControlFlow() 536 for (auto succ : try_block.begin_bb->GetSuccsBlocks()) { in RestoreTryEnd() local 537 if (succ->IsCatchBegin()) { in RestoreTryEnd() 538 try_block.end_bb->AddSucc(succ); in RestoreTryEnd()
|
/arkcompiler/ets_runtime/test/aottest/statesplit/ |
D | expect_output.txt | 14 compiler succ
|
/arkcompiler/ets_runtime/test/aottest/numberspeculativeretype/ |
D | expect_output.txt | 14 compiler succ
|
/arkcompiler/ets_runtime/test/aottest/defineclass/ |
D | expect_output.txt | 14 compiler succ
|
/arkcompiler/ets_runtime/test/aottest/try/ |
D | expect_output.txt | 14 compiler succ
|
/arkcompiler/ets_runtime/tools/circuit_viewer/examples/ |
D | log_loop.txt | 929 [compiler] ] succ=[ 947 [compiler] ] succ=[ 956 [compiler] ] succ=[ 973 [compiler] ] succ=[ 981 [compiler] ] succ=[ 987 [compiler] ] succ=[ 995 [compiler] ] succ=[ 1009 [compiler] ] succ=[ 1017 [compiler] ] succ=[ 1025 [compiler] ] succ=[ [all …]
|
/arkcompiler/ets_runtime/test/moduletest/stubbuilder/ |
D | expect_output.txt | 86 succ
|
/arkcompiler/runtime_core/compiler/tests/ |
D | split_resolver_test.cpp | 741 auto succ = &BB(6); in TEST_F() local 742 auto phi_resolver = pred->InsertNewBlockToSuccEdge(succ); in TEST_F()
|
/arkcompiler/runtime_core/compiler/docs/ |
D | cleanup_doc.md | 131 auto succ = bb->GetSuccessor(0);
|