Lines Matching refs:BasicBlock
24 class BasicBlock; variable
41 BasicBlock* dominator_; // Immediate dominator of the block.
42 BasicBlock* loop_header_; // Pointer to dominating loop header basic block,
95 class BasicBlock FINAL : public GenericNode<BasicBlockData, BasicBlock> {
97 BasicBlock(GenericGraphBase* graph, int input_count) in BasicBlock() function
98 : GenericNode<BasicBlockData, BasicBlock>(graph, input_count) {} in BasicBlock()
107 BasicBlock* PredecessorAt(int index) { return InputAt(index); } in PredecessorAt()
110 BasicBlock* SuccessorAt(int index) { return UseAt(index); } in SuccessorAt()
112 int PredecessorIndexOf(BasicBlock* predecessor) { in PredecessorIndexOf()
113 BasicBlock::Predecessors predecessors = this->predecessors(); in PredecessorIndexOf()
114 for (BasicBlock::Predecessors::iterator i = predecessors.begin(); in PredecessorIndexOf()
121 inline BasicBlock* loop_header() { in loop_header()
122 return static_cast<BasicBlock*>(loop_header_); in loop_header()
124 inline BasicBlock* ContainingLoop() { in ContainingLoop()
126 return static_cast<BasicBlock*>(loop_header_); in ContainingLoop()
142 DISALLOW_COPY_AND_ASSIGN(BasicBlock);
145 typedef GenericGraphVisit::NullNodeVisitor<BasicBlockData, BasicBlock>
148 typedef ZoneVector<BasicBlock*> BasicBlockVector;
156 class Schedule : public GenericGraph<BasicBlock> {
159 : GenericGraph<BasicBlock>(zone), in Schedule()
169 BasicBlock* block(Node* node) const { in block()
182 BasicBlock* GetBlockById(int block_id) { return all_blocks_[block_id]; } in GetBlockById()
194 BasicBlock* block = this->block(a); in SameBasicBlock()
199 inline BasicBlock* NewBasicBlock() { in NewBasicBlock()
200 BasicBlock* block = in NewBasicBlock()
201 BasicBlock::New(this, 0, static_cast<BasicBlock**>(NULL)); in NewBasicBlock()
208 inline void PlanNode(BasicBlock* block, Node* node) { in PlanNode()
218 inline void AddNode(BasicBlock* block, Node* node) { in AddNode()
229 void AddGoto(BasicBlock* block, BasicBlock* succ) { in AddGoto()
230 DCHECK(block->control_ == BasicBlock::kNone); in AddGoto()
231 block->control_ = BasicBlock::kGoto; in AddGoto()
236 void AddBranch(BasicBlock* block, Node* branch, BasicBlock* tblock, in AddBranch()
237 BasicBlock* fblock) { in AddBranch()
238 DCHECK(block->control_ == BasicBlock::kNone); in AddBranch()
240 block->control_ = BasicBlock::kBranch; in AddBranch()
251 void AddReturn(BasicBlock* block, Node* input) { in AddReturn()
252 DCHECK(block->control_ == BasicBlock::kNone); in AddReturn()
253 block->control_ = BasicBlock::kReturn; in AddReturn()
263 void AddThrow(BasicBlock* block, Node* input) { in AddThrow()
264 DCHECK(block->control_ == BasicBlock::kNone); in AddThrow()
265 block->control_ = BasicBlock::kThrow; in AddThrow()
273 void AddSuccessor(BasicBlock* block, BasicBlock* succ) { in AddSuccessor()
282 void SetControlInput(BasicBlock* block, Node* node) { in SetControlInput()
287 void SetBlockForNode(BasicBlock* block, Node* node) { in SetBlockForNode()