Lines Matching refs:BasicBlock
42 BasicBlock* block(uint32_t blk_id) const { return id2block_.at(blk_id); } in block()
45 const BasicBlock* pseudo_entry_block() const { return &pseudo_entry_block_; } in pseudo_entry_block()
46 BasicBlock* pseudo_entry_block() { return &pseudo_entry_block_; } in pseudo_entry_block()
48 const BasicBlock* pseudo_exit_block() const { return &pseudo_exit_block_; } in pseudo_exit_block()
49 BasicBlock* pseudo_exit_block() { return &pseudo_exit_block_; } in pseudo_exit_block()
52 bool IsPseudoEntryBlock(BasicBlock* block_ptr) const { in IsPseudoEntryBlock()
57 bool IsPseudoExitBlock(BasicBlock* block_ptr) const { in IsPseudoExitBlock()
66 void ComputeStructuredOrder(Function* func, BasicBlock* root,
67 std::list<BasicBlock*>* order);
70 void ForEachBlockInPostOrder(BasicBlock* bb,
71 const std::function<void(BasicBlock*)>& f);
76 BasicBlock* bb, const std::function<void(BasicBlock*)>& f);
82 BasicBlock* bb, const std::function<bool(BasicBlock*)>& f);
87 void RegisterBlock(BasicBlock* blk) { in RegisterBlock()
98 void ForgetBlock(const BasicBlock* blk) { in ForgetBlock()
113 void AddEdges(BasicBlock* blk);
126 void RemoveSuccessorEdges(const BasicBlock* bb) { in RemoveSuccessorEdges()
137 BasicBlock* SplitLoopHeader(BasicBlock* bb);
152 void ComputePostOrderTraversal(BasicBlock* bb,
153 std::vector<BasicBlock*>* order,
154 std::unordered_set<BasicBlock*>* seen);
161 std::unordered_map<const BasicBlock*, std::vector<BasicBlock*>>
166 BasicBlock pseudo_entry_block_;
169 BasicBlock pseudo_exit_block_;
175 std::unordered_map<uint32_t, BasicBlock*> id2block_;