GCC Middle and Back End API Reference
dom_walker Class Reference

#include <domwalk.h>

Inheritance diagram for dom_walker:

Public Member Functions

 dom_walker (cdi_direction direction)
void walk (basic_block)
virtual void before_dom_children (basic_block)
virtual void after_dom_children (basic_block)

Detailed Description

This is the main class for the dominator walker. It is expected that consumers will have a custom class inheriting from it, which will over ride at least one of before_dom_children and after_dom_children to implement the custom behavior.


Constructor & Destructor Documentation

dom_walker::dom_walker ( cdi_direction  direction)
inline

Member Function Documentation

virtual void dom_walker::after_dom_children ( basic_block  )
inlinevirtual
void dom_walker::walk ( basic_block  bb)
     Walk the dominator tree.  
   Recursively walk the dominator tree.
   BB is the basic block we are currently visiting.  
         Don't worry about unreachable blocks.  
             Callback for subclasses to do custom things before we have walked
             the dominator children, but before we walk statements.  
             Mark the current BB to be popped out of the recursion stack
             once children are processed.  
         NULL is used to mark pop operations in the recursion stack.  
             Callback allowing subclasses to do custom things after we have
             walked dominator children, but before we walk statements.  

References bb_postorder, free(), inverted_post_order_compute(), and postorder_num.


The documentation for this class was generated from the following files: