To create an optimization, simply subclass this class and define
optimize(md) to compute any dataflow information necessary to
perform the optimization on md and then modify the method's TAC
list.
Same as ReachableAnalysis, but illustrates how to leverage the TAC
visitor pattern (if you have one) to implement the transfer functions
in a relatively elegant way.