Home
last modified time | relevance | path

Searched refs:bb (Results 1 – 25 of 73) sorted by relevance

123

/arkcompiler/runtime_core/compiler/tests/
DirBuilder_tests.cpp155 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 …]
Ddominators_tree_new_test.cpp55 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 …]
Dloop_analyzer_new_test.cpp79 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 …]
Dcompiler_basicblock_test.cpp59 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 …]
Dliveness_analyzer_new_test.cpp229 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 …]
Dcompiler_inst_test.cpp85 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 …]
Dcompiler_graph_test.cpp100 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/
DmappedTypes3.ts43 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/
Dcleanup_doc.md92 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 …]
Dmove_constants_closer_to_usage_doc.md43 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 …]
Dvn_doc.md34 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/
Dframe_states.cpp121 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 …]
Dbytecode_circuit_builder.cpp208 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 …]
Dframe_states.h118 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/
Dcleanup.cpp26 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/
Dgraph.cpp131 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/
Dlinear_order.cpp75 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 …]
Drpo.cpp55 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/
Dir_builder.cpp55 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/
Dcodegen_test.cpp103 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/
Dvisitor.inc19 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()) {
Dgraph.cpp44 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/
Dcodegen.cpp54 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/
Dgraph.h63 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/
Dinterface.ts40 bb : number
89 bb : 2,
114 AssertType(stu.bb, "number");

123