/arkcompiler/runtime_core/compiler/tests/ |
D | irBuilder_tests.cpp | 155 for (auto bb : graph->GetBlocksRPO()) { in __anon1538a8fc0302() local 156 EXPECT_NE(bb, nullptr); in __anon1538a8fc0302() 157 if (bb->IsTryBegin()) { in __anon1538a8fc0302() 158 EXPECT_TRUE(bb->GetPredsBlocks().size() == 1); in __anon1538a8fc0302() 159 EXPECT_TRUE(bb->GetSuccsBlocks().size() == 2); in __anon1538a8fc0302() 160 EXPECT_TRUE(bb->GetSuccessor(0)->IsTry()); in __anon1538a8fc0302() 161 EXPECT_TRUE(bb->GetSuccessor(1)->IsCatch()); in __anon1538a8fc0302() 162 EXPECT_TRUE(bb->GetSuccessor(1)->IsCatchBegin()); in __anon1538a8fc0302() 164 EXPECT_TRUE(bb->GetFirstInst()->IsTry()); in __anon1538a8fc0302() 168 if (bb->IsTry()) { in __anon1538a8fc0302() [all …]
|
D | dominators_tree_new_test.cpp | 55 for (auto bb : graph->GetBlocksRPO()) { in __anona6f8c39f0102() local 56 EXPECT_NE(bb, nullptr); in __anona6f8c39f0102() 57 if (!bb->IsCatchBegin()) { in __anona6f8c39f0102() 61 bb->GetPredecessor(1)->SetDominator(bb->GetPredecessor(0)); in __anona6f8c39f0102() 62 EXPECT_NE(bb->GetPredecessor(1)->GetDominator(), nullptr); in __anona6f8c39f0102() 63 bb->GetPredecessor(0)->AddDominatedBlock(bb->GetPredecessor(1)); in __anona6f8c39f0102() 64 … dominators_tree.UpdateAfterResolverInsertion(bb->GetPredecessor(0), bb->GetPredecessor(1), in __anona6f8c39f0102() 65 bb->GetPredecessor(0)->GetSuccsBlocks()[0]); in __anona6f8c39f0102() 90 for (auto bb : graph->GetBlocksRPO()) { in __anona6f8c39f0202() local 91 EXPECT_NE(bb, nullptr); in __anona6f8c39f0202() [all …]
|
D | loop_analyzer_new_test.cpp | 79 for (auto bb : graph->GetBlocksRPO()) { in __anon55843b6f0202() local 80 EXPECT_NE(bb, nullptr); in __anon55843b6f0202() 81 if (!bb->IsTryBegin()) { in __anon55843b6f0202() 84 Loop loop(graph->GetAllocator(), bb->GetSuccessor(0), 1); in __anon55843b6f0202() 85 Loop other(graph->GetAllocator(), bb->GetSuccessor(0), 1); in __anon55843b6f0202() 113 for (auto bb : graph->GetBlocksRPO()) { in __anon55843b6f0302() local 114 EXPECT_NE(bb, nullptr); in __anon55843b6f0302() 115 if (!bb->IsTryBegin()) { in __anon55843b6f0302() 118 Loop loop(graph->GetAllocator(), bb->GetSuccessor(0), 1); in __anon55843b6f0302() 119 loop.AppendBackEdge(bb->GetSuccessor(1)); in __anon55843b6f0302() [all …]
|
D | compiler_basicblock_test.cpp | 59 for (auto bb : graph->GetBlocksRPO()) { in __anon9f1e038e0102() local 60 if (!bb->IsCatchBegin()) { in __anon9f1e038e0102() 64 EXPECT_TRUE(BlocksPathDfsSearch(mrk, start_block, end_block, bb->GetSuccessor(0))); in __anon9f1e038e0102() 65 EXPECT_FALSE(BlocksPathDfsSearch(mrk, start_block, bb->GetSuccessor(0), end_block)); in __anon9f1e038e0102() 66 EXPECT_FALSE(BlocksPathDfsSearch(mrk, end_block, start_block, bb->GetSuccessor(0))); in __anon9f1e038e0102() 87 for (auto bb : graph->GetBlocksRPO()) { in __anon9f1e038e0202() local 88 if (!bb->IsTry()) { in __anon9f1e038e0202() 91 graph->GetEndBlock()->InsertBlockBefore(bb->GetPredecessor(0)); in __anon9f1e038e0202() 92 graph->GetStartBlock()->InsertBlockBefore(bb->GetPredecessor(0)); in __anon9f1e038e0202() 116 for (auto bb : graph->GetBlocksRPO()) { in __anon9f1e038e0302() local [all …]
|
D | liveness_analyzer_new_test.cpp | 229 for (auto bb : graph->GetBlocksRPO()) { in __anon8a63221e0302() local 230 EXPECT_NE(bb, nullptr); in __anon8a63221e0302() 231 if (!bb->IsTry()) { in __anon8a63221e0302() 234 EXPECT_FALSE(liveness_analyzer.IsCallBlockingRegisters(bb->GetFirstInst())); in __anon8a63221e0302() 236 bb->GetFirstInst()->SetFlag(compiler::inst_flags::CALL); in __anon8a63221e0302() 237 EXPECT_TRUE(liveness_analyzer.IsCallBlockingRegisters(bb->GetFirstInst())); in __anon8a63221e0302() 261 auto bb = graph->GetStartBlock(); in __anon8a63221e0402() local 264 LifeIntervals life_intervals(graph->GetAllocator(), bb->GetFirstInst(), live_range); in __anon8a63221e0402() 274 LifeIntervals life_intervals1(graph->GetAllocator(), bb->GetFirstInst(), live_range1); in __anon8a63221e0402() 298 auto bb = graph->GetStartBlock(); in __anon8a63221e0502() local [all …]
|
D | compiler_inst_test.cpp | 85 for (auto bb : graph->GetBlocksRPO()) { in __anon7b7a1abf0102() local 86 for (auto inst : bb->AllInsts()) { in __anon7b7a1abf0102() 136 for (auto bb : graph->GetBlocksRPO()) { in __anon7b7a1abf0202() local 137 for (auto inst : bb->AllInsts()) { in __anon7b7a1abf0202() 173 for (auto bb : graph->GetBlocksRPO()) { in __anon7b7a1abf0302() local 174 for (auto inst : bb->AllInsts()) { in __anon7b7a1abf0302() 204 for (auto bb : graph->GetBlocksRPO()) { in __anon7b7a1abf0402() local 205 for (auto inst : bb->AllInsts()) { in __anon7b7a1abf0402() 238 for (auto bb : graph->GetBlocksRPO()) { in __anon7b7a1abf0502() local 239 for (auto inst : bb->AllInsts()) { in __anon7b7a1abf0502() [all …]
|
D | compiler_graph_test.cpp | 100 BasicBlock *bb = nullptr; in __anon65fffef30202() local 105 bb = block; in __anon65fffef30202() 107 graph->DisconnectBlockRec(bb, true, true); in __anon65fffef30202() 108 EXPECT_NE(bb->GetGraph(), nullptr); in __anon65fffef30202() 214 for (auto bb : graph->GetBlocksRPO()) { in __anon65fffef30602() local 215 for (auto inst : bb->AllInsts()) { in __anon65fffef30602() 386 for (auto bb : graph->GetBlocksRPO()) { in __anon65fffef30c02() local 387 for (auto inst : bb->AllInsts()) { in __anon65fffef30c02() 394 graph->AppendThrowableInst(catch_phi, bb); in __anon65fffef30c02() 421 BasicBlock *bb = nullptr; in __anon65fffef30d02() local [all …]
|
/arkcompiler/ets_runtime/test/typeinfer/automatedcases/ |
D | mappedTypes3.ts | 43 let bb = boxify(b); 44 AssertType(bb, "Boxified<Bacon>"); 49 let isPerfect = bb.isPerfect.value; 51 AssertType(bb.isPerfect.value, "boolean"); 52 AssertType(bb.isPerfect, "Box<boolean>"); 54 let weight = bb.weight.value; 56 AssertType(bb.weight.value, "number"); 57 AssertType(bb.weight, "Box<number>"); 60 function f2(bb: Boxified<Bacon>) { 61 let b = unboxify(bb); // Infer Bacon for T [all …]
|
/arkcompiler/runtime_core/compiler/docs/ |
D | cleanup_doc.md | 92 for (auto bb : GetGraph()->GetVectorBlocks()) { 93 if (!SkipBasicBlock(bb) && bb->IsEmpty()) { 94 empty_blocks->insert(bb); 108 for (auto bb : GetGraph()->GetVectorBlocks()) { 109 if (!SkipBasicBlock(bb)) { 110 while (bb and successor are suitable) { 111 bb->JoinSuccessorBlock(); 122 for (auto bb : *empty_blocks) { 123 modified |= ProcessBB(bb, dead_mrk, new_empty_blocks); 129 bool Cleanup::ProcessBB(bb, dead_mrk, new_empty_blocks) [all …]
|
D | move_constants_closer_to_usage_doc.md | 43 succs: [bb 0] 45 BB 0 preds: [bb 3] 49 succs: [bb 1, bb 2] 51 BB 2 preds: [bb 0] 54 succs: [bb 4] 56 BB 1 preds: [bb 0] 70 succs: [bb 4] 72 BB 4 preds: [bb 2, bb 1] 83 succs: [bb 0] 85 BB 0 preds: [bb 3] [all …]
|
D | vn_doc.md | 34 for (auto bb : GetGraph()->GetBlocksRPO()) { 35 for (auto inst : bb->AllInsts()) { 86 succs: [bb 2] 88 BB 2 preds: [bb 0] 99 succs: [bb 1] 101 BB 1 preds: [bb 2] 116 succs: [bb 2] 118 BB 2 preds: [bb 0] 129 succs: [bb 1] 143 succs: [bb 2] [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
D | frame_states.cpp | 121 auto &bb = builder_->GetBasicBlockById(curBlockId); in BuildPostOrderList() local 122 for (const auto &succBlock: bb.succs) { in BuildPostOrderList() 132 for (const auto &succBlock: bb.catchs) { in BuildPostOrderList() 168 GateRef FrameStateBuilder::GetPreBBInput(BytecodeRegion *bb, BytecodeRegion *predBb, GateRef gate) in GetPreBBInput() argument 171 return GetPhiComponent(bb, predBb, gate); in GetPreBBInput() 176 GateRef FrameStateBuilder::GetPhiComponent(BytecodeRegion *bb, BytecodeRegion *predBb, GateRef phi) in GetPhiComponent() argument 180 if (bb->phiGate.find(phi) == bb->phiGate.end()) { in GetPhiComponent() 184 if (bb->numOfLoopBacks != 0) { in GetPhiComponent() 185 ASSERT(bb->loopbackBlocks.size() != 0); in GetPhiComponent() 190 for (size_t i = 0; i < bb->numOfStatePreds; ++i) { in GetPhiComponent() [all …]
|
D | bytecode_circuit_builder.cpp | 208 auto &bb = graph_[i]; in BuildCatchBlocks() local 209 auto startIndex = bb.start; in BuildCatchBlocks() 221 bb.catchs.insert(bb.catchs.cbegin(), &catchBB); in BuildCatchBlocks() 222 bb.succs.emplace_back(&catchBB); in BuildCatchBlocks() 223 catchBB.preds.emplace_back(&bb); in BuildCatchBlocks() 230 bb.SortCatches(); in BuildCatchBlocks() 356 for (auto &bb : graph_) { in ComputeDomFrontiers() local 357 if (bb.isDead) { in ComputeDomFrontiers() 360 if (bb.preds.size() < 2) { // 2: pred num in ComputeDomFrontiers() 363 for (size_t i = 0; i < bb.preds.size(); i++) { in ComputeDomFrontiers() [all …]
|
D | frame_states.h | 118 bool MergeIntoPredBB(BytecodeRegion *bb, BytecodeRegion *predBb); 119 size_t LoopExitCount(BytecodeRegion *bb, BytecodeRegion *bbNext); 156 FrameStateInfo *GetFrameInfoBefore(BytecodeRegion &bb, uint32_t bcId); 158 GateRef GetPreBBInput(BytecodeRegion *bb, BytecodeRegion *predBb, GateRef gate); 159 GateRef GetPhiComponent(BytecodeRegion *bb, BytecodeRegion *predBb, GateRef phi); 160 void BuildFrameState(BytecodeRegion& bb, const BytecodeInfo &bytecodeInfo, size_t index); 161 void BuildStateSplitAfter(size_t index, BytecodeRegion& bb); 162 void BuildStateSplitBefore(BytecodeRegion& bb, size_t index); 163 bool ShouldInsertFrameStateBefore(BytecodeRegion& bb, size_t index); 164 void BuildCallFrameState(size_t index, BytecodeRegion& bb); [all …]
|
/arkcompiler/runtime_core/compiler/optimizer/optimizations/ |
D | cleanup.cpp | 26 static bool SkipBasicBlock(BasicBlock *bb) in SkipBasicBlock() argument 29 …return bb == nullptr || bb->IsStartBlock() || bb->IsEndBlock() || bb->IsCatchBegin() || bb->IsTryE… in SkipBasicBlock() 47 for (auto bb : GetGraph()->GetVectorBlocks()) { in RunImpl() local 48 if (!SkipBasicBlock(bb) && bb->IsEmpty()) { in RunImpl() 49 empty_blocks->insert(bb); in RunImpl() 82 for (auto bb : GetGraph()->GetVectorBlocks()) { in RunImpl() local 83 if (bb == nullptr || bb->IsPseudoControlFlowBlock()) { in RunImpl() 87 … while (bb->GetSuccsBlocks().size() == 1 && bb->GetSuccessor(0)->GetPredsBlocks().size() == 1 && in RunImpl() 88 … !bb->GetSuccessor(0)->IsPseudoControlFlowBlock() && bb->IsTry() == bb->GetSuccessor(0)->IsTry()) { in RunImpl() 89 ASSERT(!bb->GetSuccessor(0)->HasPhi()); in RunImpl() [all …]
|
/arkcompiler/runtime_core/libark_defect_scan_aux/ |
D | graph.cpp | 131 bool BasicBlock::operator==(const BasicBlock &bb) const in operator ==() 133 return bb_ == bb.bb_; in operator ==() 136 bool BasicBlock::operator!=(const BasicBlock &bb) const in operator !=() 138 return bb_ != bb.bb_; in operator !=() 149 for (auto &bb : bb_->GetPredsBlocks()) { in GetPredBlocks() local 150 pred_blocks.emplace_back(bb); in GetPredBlocks() 158 for (auto &bb : bb_->GetSuccsBlocks()) { in GetSuccBlocks() local 159 succ_blocks.emplace_back(bb); in GetSuccBlocks() 189 for (auto &bb : blocks) { in GetBasicBlockList() local 190 bb_list.emplace_back(bb); in GetBasicBlockList() [all …]
|
/arkcompiler/runtime_core/compiler/optimizer/analysis/ |
D | linear_order.cpp | 75 static void AddSortedByPc(ArenaList<BasicBlock *> *rpo_blocks, BasicBlock *bb) in AddSortedByPc() argument 80 rpo_blocks->push_back(bb); in AddSortedByPc() 87 if (cmp(bb, *iter)) { in AddSortedByPc() 88 rpo_blocks->insert(++iter, bb); in AddSortedByPc() 92 rpo_blocks->push_front(bb); in AddSortedByPc() 190 for (auto bb : GetGraph()->GetBlocksRPO()) { in RunImpl() local 191 ASSERT(bb->GetGuestPc() != INVALID_PC); in RunImpl() 192 AddSortedByPc(&rpo_blocks_, bb); in RunImpl() 205 for (auto bb : *GetGraph()) { in RunImpl() 206 if (bb != nullptr && !bb->IsMarked(marker_)) { in RunImpl() [all …]
|
D | rpo.cpp | 55 for (auto bb : *GetGraph()) { in RunImpl() 56 if (bb != nullptr && !bb->IsMarked(marker_)) { in RunImpl() 57 bb->Dump(&std::cerr); in RunImpl()
|
/arkcompiler/runtime_core/compiler/optimizer/ir_builder/ |
D | ir_builder.cpp | 55 for (auto bb : GetGraph()->GetBlocksRPO()) { in RunImpl() local 56 if (!BuildBasicBlock(bb, &inst_builder, instructions_buf)) { in RunImpl() 114 bool IrBuilder::BuildBasicBlock(BasicBlock *bb, InstBuilder *inst_builder, const uint8_t *instructi… in BuildBasicBlock() argument 116 inst_builder->SetCurrentBlock(bb); in BuildBasicBlock() 118 ASSERT(bb->GetGuestPc() != INVALID_PC); in BuildBasicBlock() 120 if (bb == blocks_[bb->GetGuestPc()]) { in BuildBasicBlock() 121 return BuildInstructionsForBB(bb, inst_builder, instructions_buf); in BuildBasicBlock() 127 bool IrBuilder::BuildInstructionsForBB(BasicBlock *bb, InstBuilder *inst_builder, const uint8_t *in… in BuildInstructionsForBB() argument 130 …BytecodeInstructions instructions(instructions_buf + bb->GetGuestPc(), std::numeric_limits<int>::m… in BuildInstructionsForBB() 134 if (pc != bb->GetGuestPc() && GetBlockForPc(pc) != nullptr) { in BuildInstructionsForBB() [all …]
|
/arkcompiler/runtime_core/bytecode_optimizer/tests/ |
D | codegen_test.cpp | 103 for (auto bb : graph->GetBlocksRPO()) { in __anon0774c0120102() local 104 EXPECT_NE(bb, nullptr); in __anon0774c0120102() 105 if (bb->IsTryBegin()) { in __anon0774c0120102() 111 bc_gen.EmitJump(bb->GetSuccessor(1)); in __anon0774c0120102() 114 bc_gen.EmitJump(bb->GetSuccessor(0)); in __anon0774c0120102() 140 for (auto bb : graph->GetBlocksRPO()) { in __anon0774c0120202() local 141 EXPECT_NE(bb, nullptr); in __anon0774c0120202() 142 for(auto inst : bb->AllInsts()){ in __anon0774c0120202() 149 bc_gen.EmitJump(bb); in __anon0774c0120202() 177 for (auto bb : graph->GetBlocksRPO()) { in __anon0774c0120302() local [all …]
|
/arkcompiler/runtime_core/compiler/optimizer/ir/ |
D | visitor.inc | 19 for (auto& bb : GetBlocksToVisit()) { 20 for (auto inst : bb->AllInsts()) { 28 for (auto& bb : GetBlocksToVisit()) { 29 for (auto inst : bb->AllInsts()) { 37 void VisitBlock(BasicBlock* bb) override { 38 for (auto inst : bb->AllInsts()) {
|
D | graph.cpp | 44 for (auto &bb : *this) { in RemoveUnreachableBlocks() 45 if (bb == nullptr) { in RemoveUnreachableBlocks() 48 if (!bb->IsMarked(mrk)) { in RemoveUnreachableBlocks() 49 RemovePredecessors(bb, false); in RemoveUnreachableBlocks() 50 RemoveSuccessors(bb); in RemoveUnreachableBlocks() 51 if (bb->IsTryBegin()) { in RemoveUnreachableBlocks() 52 EraseTryBeginBlock(bb); in RemoveUnreachableBlocks() 54 if (!bb->IsEmpty()) { in RemoveUnreachableBlocks() 55 GetTryBeginInst(bb)->GetTryEndBlock()->SetTryEnd(false); in RemoveUnreachableBlocks() 59 for (auto inst : bb->AllInsts()) { in RemoveUnreachableBlocks() [all …]
|
/arkcompiler/runtime_core/bytecode_optimizer/ |
D | codegen.cpp | 54 void BytecodeGen::VisitTryBegin(const compiler::BasicBlock *bb) in VisitTryBegin() argument 56 ASSERT(bb->IsTryBegin()); in VisitTryBegin() 57 auto try_inst = GetTryBeginInst(bb); in VisitTryBegin() 61 bb->EnumerateCatchHandlers([&, bb, try_end](BasicBlock *catch_handler, size_t type_id) { in VisitTryBegin() 62 AppendCatchBlock(type_id, bb, try_end, catch_handler); in VisitTryBegin() 74 for (auto *bb : GetGraph()->GetBlocksLinearOrder()) { in RunImpl() local 75 EmitLabel(BytecodeGen::LabelName(bb->GetId())); in RunImpl() 76 if (bb->IsTryEnd() || bb->IsCatchEnd()) { in RunImpl() 77 auto label = "end_" + BytecodeGen::LabelName(bb->GetId()); in RunImpl() 80 for (const auto &inst : bb->AllInsts()) { in RunImpl() [all …]
|
/arkcompiler/runtime_core/libark_defect_scan_aux/include/ |
D | graph.h | 63 explicit BasicBlock(const compiler::BasicBlock *bb) : bb_(bb) {} in BasicBlock() argument 66 bool operator==(const BasicBlock &bb) const; 67 bool operator!=(const BasicBlock &bb) const;
|
/arkcompiler/ets_runtime/test/typeinfer/interface/ |
D | interface.ts | 40 bb : number 89 bb : 2, 114 AssertType(stu.bb, "number");
|