We introduce a new framework for elimination-based data flow analysis. We present a simple algorithm and a delayed algorithm
that exhibit a worst-case complexity of
O(n2){\mathcal O}(n^2)
and
[(O)\tilde](m)\tilde{{\mathcal O}}(m)
. The algorithms use a new compact data structure for representing reducible flow graphs called
Annotated Decomposition Trees. This data structure extends a binary tree to represent flowgraph information, dominance relation of flowgraphs, and the
topological order of nodes. The construction of the annotated decomposition trees runs in
O(n + m){\mathcal O}(n + m)
. Experiments were conducted with reducible flowgraphs of the SPEC2000 benchmark suite.