#include "source/val/basic_block.h"
#include <algorithm>
#include <vector>
namespace spvtools {
namespace val {
BasicBlock::BasicBlock(uint32_t label_id)
: … { … }
void BasicBlock::SetImmediateDominator(BasicBlock* dom_block) { … }
void BasicBlock::SetImmediateStructuralDominator(BasicBlock* dom_block) { … }
void BasicBlock::SetImmediateStructuralPostDominator(BasicBlock* pdom_block) { … }
const BasicBlock* BasicBlock::immediate_dominator() const { … }
const BasicBlock* BasicBlock::immediate_structural_dominator() const { … }
const BasicBlock* BasicBlock::immediate_structural_post_dominator() const { … }
BasicBlock* BasicBlock::immediate_dominator() { … }
BasicBlock* BasicBlock::immediate_structural_dominator() { … }
BasicBlock* BasicBlock::immediate_structural_post_dominator() { … }
void BasicBlock::RegisterSuccessors(
const std::vector<BasicBlock*>& next_blocks) { … }
bool BasicBlock::dominates(const BasicBlock& other) const { … }
bool BasicBlock::structurally_dominates(const BasicBlock& other) const { … }
bool BasicBlock::structurally_postdominates(const BasicBlock& other) const { … }
BasicBlock::DominatorIterator::DominatorIterator() : … { … }
BasicBlock::DominatorIterator::DominatorIterator(
const BasicBlock* block,
std::function<const BasicBlock*(const BasicBlock*)> dominator_func)
: … { … }
BasicBlock::DominatorIterator& BasicBlock::DominatorIterator::operator++() { … }
const BasicBlock::DominatorIterator BasicBlock::dom_begin() const { … }
BasicBlock::DominatorIterator BasicBlock::dom_begin() { … }
const BasicBlock::DominatorIterator BasicBlock::dom_end() const { … }
BasicBlock::DominatorIterator BasicBlock::dom_end() { … }
const BasicBlock::DominatorIterator BasicBlock::structural_dom_begin() const { … }
BasicBlock::DominatorIterator BasicBlock::structural_dom_begin() { … }
const BasicBlock::DominatorIterator BasicBlock::structural_dom_end() const { … }
BasicBlock::DominatorIterator BasicBlock::structural_dom_end() { … }
const BasicBlock::DominatorIterator BasicBlock::structural_pdom_begin() const { … }
BasicBlock::DominatorIterator BasicBlock::structural_pdom_begin() { … }
const BasicBlock::DominatorIterator BasicBlock::structural_pdom_end() const { … }
BasicBlock::DominatorIterator BasicBlock::structural_pdom_end() { … }
bool operator==(const BasicBlock::DominatorIterator& lhs,
const BasicBlock::DominatorIterator& rhs) { … }
bool operator!=(const BasicBlock::DominatorIterator& lhs,
const BasicBlock::DominatorIterator& rhs) { … }
const BasicBlock*& BasicBlock::DominatorIterator::operator*() { … }
}
}