Lines Matching refs:BasicBlock
43 class BasicBlock {
48 explicit BasicBlock(uint32_t id);
54 const std::vector<BasicBlock*>* predecessors() const { in predecessors()
59 std::vector<BasicBlock*>* predecessors() { return &predecessors_; } in predecessors()
62 const std::vector<BasicBlock*>* successors() const { return &successors_; } in successors()
65 std::vector<BasicBlock*>* successors() { return &successors_; } in successors()
90 void SetImmediateDominator(BasicBlock* dom_block);
95 void SetImmediatePostDominator(BasicBlock* pdom_block);
98 BasicBlock* immediate_dominator();
101 const BasicBlock* immediate_dominator() const;
104 BasicBlock* immediate_post_dominator();
107 const BasicBlock* immediate_post_dominator() const;
123 const std::vector<BasicBlock*>& next = std::vector<BasicBlock*>());
126 bool operator==(const BasicBlock& other) const { return other.id_ == id_; }
133 bool dominates(const BasicBlock& other) const;
137 bool postdominates(const BasicBlock& other) const;
145 using value_type = BasicBlock*;
163 const BasicBlock* block,
164 std::function<const BasicBlock*(const BasicBlock*)> dominator_func);
170 const BasicBlock*& operator*();
176 const BasicBlock* current_;
177 std::function<const BasicBlock*(const BasicBlock*)> dom_func_;
212 BasicBlock* immediate_dominator_;
215 BasicBlock* immediate_post_dominator_;
218 std::vector<BasicBlock*> predecessors_;
221 std::vector<BasicBlock*> successors_;
238 bool operator==(const BasicBlock::DominatorIterator& lhs,
239 const BasicBlock::DominatorIterator& rhs);
243 bool operator!=(const BasicBlock::DominatorIterator& lhs,
244 const BasicBlock::DominatorIterator& rhs);