Lines Matching refs:BasicBlock
15 BasicBlock::BasicBlock(Zone* zone, Id id) in BasicBlock() function in v8::internal::compiler::BasicBlock
33 bool BasicBlock::LoopContains(BasicBlock* block) const { in LoopContains()
43 void BasicBlock::AddSuccessor(BasicBlock* successor) { in AddSuccessor()
48 void BasicBlock::AddPredecessor(BasicBlock* predecessor) { in AddPredecessor()
53 void BasicBlock::AddNode(Node* node) { nodes_.push_back(node); } in AddNode()
56 void BasicBlock::set_control(Control control) { in set_control()
61 void BasicBlock::set_control_input(Node* control_input) { in set_control_input()
66 void BasicBlock::set_loop_depth(int32_t loop_depth) { in set_loop_depth()
71 void BasicBlock::set_rpo_number(int32_t rpo_number) { in set_rpo_number()
76 void BasicBlock::set_loop_end(BasicBlock* loop_end) { loop_end_ = loop_end; } in set_loop_end()
79 void BasicBlock::set_loop_header(BasicBlock* loop_header) { in set_loop_header()
85 BasicBlock* BasicBlock::GetCommonDominator(BasicBlock* b1, BasicBlock* b2) { in GetCommonDominator()
97 std::ostream& operator<<(std::ostream& os, const BasicBlock::Control& c) { in operator <<()
99 case BasicBlock::kNone: in operator <<()
101 case BasicBlock::kGoto: in operator <<()
103 case BasicBlock::kCall: in operator <<()
105 case BasicBlock::kBranch: in operator <<()
107 case BasicBlock::kSwitch: in operator <<()
109 case BasicBlock::kDeoptimize: in operator <<()
111 case BasicBlock::kTailCall: in operator <<()
113 case BasicBlock::kReturn: in operator <<()
115 case BasicBlock::kThrow: in operator <<()
123 std::ostream& operator<<(std::ostream& os, const BasicBlock::Id& id) { in operator <<()
139 BasicBlock* Schedule::block(Node* node) const { in block()
153 BasicBlock* Schedule::GetBlockById(BasicBlock::Id block_id) { in GetBlockById()
160 BasicBlock* block = this->block(a); in SameBasicBlock()
165 BasicBlock* Schedule::NewBasicBlock() { in NewBasicBlock()
166 BasicBlock* block = new (zone_) in NewBasicBlock()
167 BasicBlock(zone_, BasicBlock::Id::FromSize(all_blocks_.size())); in NewBasicBlock()
173 void Schedule::PlanNode(BasicBlock* block, Node* node) { in PlanNode()
184 void Schedule::AddNode(BasicBlock* block, Node* node) { in AddNode()
196 void Schedule::AddGoto(BasicBlock* block, BasicBlock* succ) { in AddGoto()
197 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddGoto()
198 block->set_control(BasicBlock::kGoto); in AddGoto()
220 void Schedule::AddCall(BasicBlock* block, Node* call, BasicBlock* success_block, in AddCall()
221 BasicBlock* exception_block) { in AddCall()
222 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddCall()
224 block->set_control(BasicBlock::kCall); in AddCall()
231 void Schedule::AddBranch(BasicBlock* block, Node* branch, BasicBlock* tblock, in AddBranch()
232 BasicBlock* fblock) { in AddBranch()
233 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddBranch()
235 block->set_control(BasicBlock::kBranch); in AddBranch()
242 void Schedule::AddSwitch(BasicBlock* block, Node* sw, BasicBlock** succ_blocks, in AddSwitch()
244 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddSwitch()
246 block->set_control(BasicBlock::kSwitch); in AddSwitch()
254 void Schedule::AddTailCall(BasicBlock* block, Node* input) { in AddTailCall()
255 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddTailCall()
256 block->set_control(BasicBlock::kTailCall); in AddTailCall()
262 void Schedule::AddReturn(BasicBlock* block, Node* input) { in AddReturn()
263 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddReturn()
264 block->set_control(BasicBlock::kReturn); in AddReturn()
270 void Schedule::AddDeoptimize(BasicBlock* block, Node* input) { in AddDeoptimize()
271 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddDeoptimize()
272 block->set_control(BasicBlock::kDeoptimize); in AddDeoptimize()
278 void Schedule::AddThrow(BasicBlock* block, Node* input) { in AddThrow()
279 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddThrow()
280 block->set_control(BasicBlock::kThrow); in AddThrow()
286 void Schedule::InsertBranch(BasicBlock* block, BasicBlock* end, Node* branch, in InsertBranch()
287 BasicBlock* tblock, BasicBlock* fblock) { in InsertBranch()
288 DCHECK_NE(BasicBlock::kNone, block->control()); in InsertBranch()
289 DCHECK_EQ(BasicBlock::kNone, end->control()); in InsertBranch()
291 block->set_control(BasicBlock::kBranch); in InsertBranch()
302 void Schedule::InsertSwitch(BasicBlock* block, BasicBlock* end, Node* sw, in InsertSwitch()
303 BasicBlock** succ_blocks, size_t succ_count) { in InsertSwitch()
304 DCHECK_NE(BasicBlock::kNone, block->control()); in InsertSwitch()
305 DCHECK_EQ(BasicBlock::kNone, end->control()); in InsertSwitch()
307 block->set_control(BasicBlock::kSwitch); in InsertSwitch()
336 void Schedule::EnsureSplitEdgeForm(BasicBlock* block) { in EnsureSplitEdgeForm()
340 BasicBlock* pred = *current_pred; in EnsureSplitEdgeForm()
343 BasicBlock* split_edge_block = NewBasicBlock(); in EnsureSplitEdgeForm()
344 split_edge_block->set_control(BasicBlock::kGoto); in EnsureSplitEdgeForm()
363 void Schedule::EnsureDeferredCodeSingleEntryPoint(BasicBlock* block) { in EnsureDeferredCodeSingleEntryPoint()
376 BasicBlock* pred = *current_pred; in EnsureDeferredCodeSingleEntryPoint()
384 BasicBlock* merger = NewBasicBlock(); in EnsureDeferredCodeSingleEntryPoint()
385 merger->set_control(BasicBlock::kGoto); in EnsureDeferredCodeSingleEntryPoint()
389 BasicBlock* pred = *current_pred; in EnsureDeferredCodeSingleEntryPoint()
423 void Schedule::AddSuccessor(BasicBlock* block, BasicBlock* succ) { in AddSuccessor()
429 void Schedule::MoveSuccessors(BasicBlock* from, BasicBlock* to) { in MoveSuccessors()
430 for (BasicBlock* const successor : from->successors()) { in MoveSuccessors()
432 for (BasicBlock*& predecessor : successor->predecessors()) { in MoveSuccessors()
440 void Schedule::SetControlInput(BasicBlock* block, Node* node) { in SetControlInput()
446 void Schedule::SetBlockForNode(BasicBlock* block, Node* node) { in SetBlockForNode()
455 for (BasicBlock* block : in operator <<()
465 for (BasicBlock const* predecessor : block->predecessors()) { in operator <<()
484 BasicBlock::Control control = block->control(); in operator <<()
485 if (control != BasicBlock::kNone) { in operator <<()
494 for (BasicBlock const* successor : block->successors()) { in operator <<()