aboutsummaryrefslogtreecommitdiff
path: root/source/validate.h
diff options
context:
space:
mode:
authorGreg Fischer <greg@lunarg.com>2017-05-08 18:32:12 -0600
committerDavid Neto <dneto@google.com>2017-05-25 12:31:38 -0400
commitd6f29790687f697ee3cb0bf105e365dba5faf384 (patch)
tree0631b96db3213da9dc69171f62a16f8b55106000 /source/validate.h
parentdf6537cee00f3459eaf48025643325c94a95157f (diff)
downloadspirv-tools-d6f29790687f697ee3cb0bf105e365dba5faf384.tar.gz
CFA: Pull in CalculateDominators
Diffstat (limited to 'source/validate.h')
-rw-r--r--source/validate.h24
1 files changed, 0 insertions, 24 deletions
diff --git a/source/validate.h b/source/validate.h
index f24e75d9..34d1ffef 100644
--- a/source/validate.h
+++ b/source/validate.h
@@ -34,30 +34,6 @@ class BasicBlock;
using get_blocks_func =
std::function<const std::vector<BasicBlock*>*(const BasicBlock*)>;
-/// @brief Calculates dominator edges for a set of blocks
-///
-/// Computes dominators using the algorithm of Cooper, Harvey, and Kennedy
-/// "A Simple, Fast Dominance Algorithm", 2001.
-///
-/// The algorithm assumes there is a unique root node (a node without
-/// predecessors), and it is therefore at the end of the postorder vector.
-///
-/// This function calculates the dominator edges for a set of blocks in the CFG.
-/// Uses the dominator algorithm by Cooper et al.
-///
-/// @param[in] postorder A vector of blocks in post order traversal order
-/// in a CFG
-/// @param[in] predecessor_func Function used to get the predecessor nodes of a
-/// block
-///
-/// @return the dominator tree of the graph, as a vector of pairs of nodes.
-/// The first node in the pair is a node in the graph. The second node in the
-/// pair is its immediate dominator in the sense of Cooper et.al., where a block
-/// without predecessors (such as the root node) is its own immediate dominator.
-std::vector<std::pair<BasicBlock*, BasicBlock*>> CalculateDominators(
- const std::vector<const BasicBlock*>& postorder,
- get_blocks_func predecessor_func);
-
/// @brief Performs the Control Flow Graph checks
///
/// @param[in] _ the validation state of the module