Version 6 (modified by dias, 6 years ago) (diff)   The long-term
plan for reworking GHC's back end is to produce an Integrated
Code Generator, which will break down the barrier between the
machine-independent code generator (CPS conversion, stack
layout, etc) and the native-code generators (instruction
selection, calling conventions, register allocation -- including
spilling to the C stack, etc). The goal is to simplify the back
ends by reducing code duplication and to improve the quality of
the generated code by making machine-specific decisions (such as
register usage) using knowledge of the actual target machine.
The main infrastructure of the back end may be complicated in
some cases, but the the interface for extending a back end
should be as simple as possible. For example, the implementation
of the dataflow framework is quite complicated. But we can use
the framework to write a new optimization by simply writing down
the dataflow transfer functions that are found in standard
compiler textbooks. Bette