From c66269f43fa42f3d880139a6969944bbc0a461e1 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Wed, 27 Mar 2019 20:37:31 -0400 Subject: add post dominance apis --- basicblock.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'basicblock.cpp') 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> BasicBlock::GetDominators() const +set> BasicBlock::GetDominators(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockDominators(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockDominators(m_object, &count, post); set> result; for (size_t i = 0; i < count; i++) @@ -199,10 +199,10 @@ set> BasicBlock::GetDominators() const } -set> BasicBlock::GetStrictDominators() const +set> BasicBlock::GetStrictDominators(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockStrictDominators(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockStrictDominators(m_object, &count, post); set> result; for (size_t i = 0; i < count; i++) @@ -213,19 +213,19 @@ set> BasicBlock::GetStrictDominators() const } -Ref BasicBlock::GetImmediateDominator() const +Ref 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> BasicBlock::GetDominatorTreeChildren() const +set> BasicBlock::GetDominatorTreeChildren(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockDominatorTreeChildren(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockDominatorTreeChildren(m_object, &count, post); set> result; for (size_t i = 0; i < count; i++) @@ -236,10 +236,10 @@ set> BasicBlock::GetDominatorTreeChildren() const } -set> BasicBlock::GetDominanceFrontier() const +set> BasicBlock::GetDominanceFrontier(bool post) const { size_t count; - BNBasicBlock** blocks = BNGetBasicBlockDominanceFrontier(m_object, &count); + BNBasicBlock** blocks = BNGetBasicBlockDominanceFrontier(m_object, &count, post); set> result; for (size_t i = 0; i < count; i++) -- cgit v1.3.1