The MLRISC system uses user defined type called
regions to propagate
aliasing information to the backend. This type is
abstract and no constraint is imposed on how it is implemented.
The advantage of this is that the client can optimize the representation
of the region information according to the semantics of the source language.
The downside of this freedom is that the client has to implement
various modules to extract information from the regions datatype
required by various optimization phases.
For clients that do not want to implement their own regions datatype,
there is now a new generic mechanism, called
MLRiscRegions, built on top of
the regions concept, for propagating both:
Both kinds of information are crucial for extracting parallelism
from the target code, and are used in all optimizations that perform code
motion, such as SSA optimizations and all scheduling optimizations.
- Aliasing information, and
- Control dependence/anti-control dependence information
Last modified: Thu Jan 9 19:38:15 EST 2003 by leunga@slinky