diff options
| author | Peter LaFosse <peter@vector35.com> | 2019-03-27 20:37:31 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2019-04-05 10:51:35 -0400 |
| commit | c66269f43fa42f3d880139a6969944bbc0a461e1 (patch) | |
| tree | 1130bad12f1707a2f24a62dd888a2394f78e6861 /basicblock.cpp | |
| parent | eb5717286f88241843fa5dd2f72fc1dec1d4c0e4 (diff) | |
add post dominance apis
Diffstat (limited to 'basicblock.cpp')
| -rw-r--r-- | basicblock.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/basicblock.cpp b/basicblock.cpp index e03180b5..c34a4bb7 100644 --- a/basicblock.cpp +++ b/basicblock.cpp @@ -185,10 +185,10 @@ bool BasicBlock::CanExit() const } -set<Ref<BasicBlock>> BasicBlock::GetDominators() const +set<Ref<BasicBlock>> BasicBlock::GetDominators(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockDominators(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockDominators(m_object, &count, post); set<Ref<BasicBlock>> result; for (size_t i = 0; i < count; i++) @@ -199,10 +199,10 @@ set<Ref<BasicBlock>> BasicBlock::GetDominators() const } -set<Ref<BasicBlock>> BasicBlock::GetStrictDominators() const +set<Ref<BasicBlock>> BasicBlock::GetStrictDominators(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockStrictDominators(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockStrictDominators(m_object, &count, post); set<Ref<BasicBlock>> result; for (size_t i = 0; i < count; i++) @@ -213,19 +213,19 @@ set<Ref<BasicBlock>> BasicBlock::GetStrictDominators() const } -Ref<BasicBlock> BasicBlock::GetImmediateDominator() const +Ref<BasicBlock> BasicBlock::GetImmediateDominator(bool post) const { - BNBasicBlock* result = BNGetBasicBlockImmediateDominator(m_object); + BNBasicBlock* result = BNGetBasicBlockImmediateDominator(m_object, post); if (!result) return nullptr; return new BasicBlock(result); } -set<Ref<BasicBlock>> BasicBlock::GetDominatorTreeChildren() const +set<Ref<BasicBlock>> BasicBlock::GetDominatorTreeChildren(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockDominatorTreeChildren(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockDominatorTreeChildren(m_object, &count, post); set<Ref<BasicBlock>> result; for (size_t i = 0; i < count; i++) @@ -236,10 +236,10 @@ set<Ref<BasicBlock>> BasicBlock::GetDominatorTreeChildren() const } -set<Ref<BasicBlock>> BasicBlock::GetDominanceFrontier() const +set<Ref<BasicBlock>> BasicBlock::GetDominanceFrontier(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockDominanceFrontier(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockDominanceFrontier(m_object, &count, post); set<Ref<BasicBlock>> result; for (size_t i = 0; i < count; i++) |
