Home
last modified time | relevance | path

Searched refs:succ (Results 1 – 24 of 24) sorted by relevance

/arkcompiler/runtime_core/compiler/optimizer/ir/
Dbasicblock.cpp71 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 …]
Dbasicblock.h197 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 …]
Dgraph.cpp30 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()
Dgraph_checker.cpp171 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()
Dir_constructor.h908 for (auto succ : succs) { in ConstructControlFlow() local
909 bb->AddSucc(bb_map_.at(succ == -1 ? 1 : succ)); in ConstructControlFlow()
Dgraph_cloner.cpp845 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/
Dcleanup.cpp111 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/
Dgraph_linearizer.cpp187 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 …]
Dstate_split_linearizer.cpp102 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()
Dverifier.cpp496 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()
Dscheduler.cpp168 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()
Dbytecode_circuit_builder.cpp491 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/
Ddominators_tree.cpp125 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()
Dliveness_analyzer.cpp145 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 …]
Dloop_analyzer.cpp84 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/
Dir_builder.cpp410 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/
Dexpect_output.txt14 compiler succ
/arkcompiler/ets_runtime/test/aottest/numberspeculativeretype/
Dexpect_output.txt14 compiler succ
/arkcompiler/ets_runtime/test/aottest/defineclass/
Dexpect_output.txt14 compiler succ
/arkcompiler/ets_runtime/test/aottest/try/
Dexpect_output.txt14 compiler succ
/arkcompiler/ets_runtime/tools/circuit_viewer/examples/
Dlog_loop.txt929 [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/
Dexpect_output.txt86 succ
/arkcompiler/runtime_core/compiler/tests/
Dsplit_resolver_test.cpp741 auto succ = &BB(6); in TEST_F() local
742 auto phi_resolver = pred->InsertNewBlockToSuccEdge(succ); in TEST_F()
/arkcompiler/runtime_core/compiler/docs/
Dcleanup_doc.md131 auto succ = bb->GetSuccessor(0);