This package contains analysis routines applicable to a variety of intermediate representations. Typically, the only requirement is that the IR implement some set of properties from harpoon.IR.Properties.

IR-specific analysis should not be placed in this package. In addition, if you analysis is very complicated, you should also create a separate package for it. Primarily basic compiler algorithms go here, including construction of dominance trees and frontiers and basic graph algorithms. @author various