• Home
  • Raw
  • Download

Lines Matching refs:block

33 bool BasicBlock::LoopContains(BasicBlock* block) const {  in LoopContains()
36 DCHECK(block->rpo_number_ >= 0); in LoopContains()
38 return block->rpo_number_ >= rpo_number_ && in LoopContains()
39 block->rpo_number_ < loop_end_->rpo_number_; in LoopContains()
139 BasicBlock* Schedule::block(Node* node) const { in block() function in v8::internal::compiler::Schedule
160 BasicBlock* block = this->block(a); in SameBasicBlock() local
161 return block != nullptr && block == this->block(b); in SameBasicBlock()
166 BasicBlock* block = new (zone_) in NewBasicBlock() local
168 all_blocks_.push_back(block); in NewBasicBlock()
169 return block; in NewBasicBlock()
173 void Schedule::PlanNode(BasicBlock* block, Node* node) { in PlanNode() argument
177 << " for future add to B" << block->id() << "\n"; in PlanNode()
179 DCHECK(this->block(node) == nullptr); in PlanNode()
180 SetBlockForNode(block, node); in PlanNode()
184 void Schedule::AddNode(BasicBlock* block, Node* node) { in AddNode() argument
188 << block->id() << "\n"; in AddNode()
190 DCHECK(this->block(node) == nullptr || this->block(node) == block); in AddNode()
191 block->AddNode(node); in AddNode()
192 SetBlockForNode(block, node); in AddNode()
196 void Schedule::AddGoto(BasicBlock* block, BasicBlock* succ) { in AddGoto() argument
197 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddGoto()
198 block->set_control(BasicBlock::kGoto); in AddGoto()
199 AddSuccessor(block, succ); in AddGoto()
203 void Schedule::AddCall(BasicBlock* block, Node* call, BasicBlock* success_block, in AddCall() argument
205 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddCall()
207 block->set_control(BasicBlock::kCall); in AddCall()
208 AddSuccessor(block, success_block); in AddCall()
209 AddSuccessor(block, exception_block); in AddCall()
210 SetControlInput(block, call); in AddCall()
214 void Schedule::AddBranch(BasicBlock* block, Node* branch, BasicBlock* tblock, in AddBranch() argument
216 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddBranch()
218 block->set_control(BasicBlock::kBranch); in AddBranch()
219 AddSuccessor(block, tblock); in AddBranch()
220 AddSuccessor(block, fblock); in AddBranch()
221 SetControlInput(block, branch); in AddBranch()
225 void Schedule::AddSwitch(BasicBlock* block, Node* sw, BasicBlock** succ_blocks, in AddSwitch() argument
227 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddSwitch()
229 block->set_control(BasicBlock::kSwitch); in AddSwitch()
231 AddSuccessor(block, succ_blocks[index]); in AddSwitch()
233 SetControlInput(block, sw); in AddSwitch()
237 void Schedule::AddTailCall(BasicBlock* block, Node* input) { in AddTailCall() argument
238 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddTailCall()
239 block->set_control(BasicBlock::kTailCall); in AddTailCall()
240 SetControlInput(block, input); in AddTailCall()
241 if (block != end()) AddSuccessor(block, end()); in AddTailCall()
245 void Schedule::AddReturn(BasicBlock* block, Node* input) { in AddReturn() argument
246 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddReturn()
247 block->set_control(BasicBlock::kReturn); in AddReturn()
248 SetControlInput(block, input); in AddReturn()
249 if (block != end()) AddSuccessor(block, end()); in AddReturn()
253 void Schedule::AddDeoptimize(BasicBlock* block, Node* input) { in AddDeoptimize() argument
254 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddDeoptimize()
255 block->set_control(BasicBlock::kDeoptimize); in AddDeoptimize()
256 SetControlInput(block, input); in AddDeoptimize()
257 if (block != end()) AddSuccessor(block, end()); in AddDeoptimize()
261 void Schedule::AddThrow(BasicBlock* block, Node* input) { in AddThrow() argument
262 DCHECK_EQ(BasicBlock::kNone, block->control()); in AddThrow()
263 block->set_control(BasicBlock::kThrow); in AddThrow()
264 SetControlInput(block, input); in AddThrow()
265 if (block != end()) AddSuccessor(block, end()); in AddThrow()
269 void Schedule::InsertBranch(BasicBlock* block, BasicBlock* end, Node* branch, in InsertBranch() argument
271 DCHECK_NE(BasicBlock::kNone, block->control()); in InsertBranch()
273 end->set_control(block->control()); in InsertBranch()
274 block->set_control(BasicBlock::kBranch); in InsertBranch()
275 MoveSuccessors(block, end); in InsertBranch()
276 AddSuccessor(block, tblock); in InsertBranch()
277 AddSuccessor(block, fblock); in InsertBranch()
278 if (block->control_input() != nullptr) { in InsertBranch()
279 SetControlInput(end, block->control_input()); in InsertBranch()
281 SetControlInput(block, branch); in InsertBranch()
285 void Schedule::InsertSwitch(BasicBlock* block, BasicBlock* end, Node* sw, in InsertSwitch() argument
287 DCHECK_NE(BasicBlock::kNone, block->control()); in InsertSwitch()
289 end->set_control(block->control()); in InsertSwitch()
290 block->set_control(BasicBlock::kSwitch); in InsertSwitch()
291 MoveSuccessors(block, end); in InsertSwitch()
293 AddSuccessor(block, succ_blocks[index]); in InsertSwitch()
295 if (block->control_input() != nullptr) { in InsertSwitch()
296 SetControlInput(end, block->control_input()); in InsertSwitch()
298 SetControlInput(block, sw); in InsertSwitch()
302 void Schedule::AddSuccessor(BasicBlock* block, BasicBlock* succ) { in AddSuccessor() argument
303 block->AddSuccessor(succ); in AddSuccessor()
304 succ->AddPredecessor(block); in AddSuccessor()
319 void Schedule::SetControlInput(BasicBlock* block, Node* node) { in SetControlInput() argument
320 block->set_control_input(node); in SetControlInput()
321 SetBlockForNode(block, node); in SetControlInput()
325 void Schedule::SetBlockForNode(BasicBlock* block, Node* node) { in SetBlockForNode() argument
329 nodeid_to_block_[node->id()] = block; in SetBlockForNode()
334 for (BasicBlock* block : *s.rpo_order()) { in operator <<()
335 os << "--- BLOCK B" << block->rpo_number(); in operator <<()
336 if (block->deferred()) os << " (deferred)"; in operator <<()
337 if (block->PredecessorCount() != 0) os << " <- "; in operator <<()
339 for (BasicBlock const* predecessor : block->predecessors()) { in operator <<()
345 for (Node* node : *block) { in operator <<()
354 BasicBlock::Control control = block->control(); in operator <<()
357 if (block->control_input() != nullptr) { in operator <<()
358 os << *block->control_input(); in operator <<()
364 for (BasicBlock const* successor : block->successors()) { in operator <<()