As we saw in Chapter 3, the principle of tree covering has two significant disadvantages. The first is that common subexpressions cannot be properly expressed in program trees, and the second is that many machine instruction characteristics—such as multi-output instructions—cannot be modeled as pattern trees. As these shortcomings are primarily due to the restricted use of trees, we can achieve a more powerful approach to instruction selection by extending tree covering to DAG covering.
KeywordsDirected Acyclic Graph Pattern Selection Horn Clause Integer Programming Model Register Allocation
Unable to display preview. Download preview PDF.