The SUIF Library
The manager must
be provided with functions to convert structured annotations to and from
these immediate values.
The code produced directly by the C
front-end assumes that the upper bound and step operands are reevaluated
on every iteration. The expander's cleanup pass dismantles any
tree_for nodes for which it cannot guarantee that these semantics
for other classes it is your responsibility to make sure that the
destination is null if the instruction does not produce a result.
This rule may appear to be violated when using Fortran form
with call-by-reference arrays with unknown bounds, but the actual type
of such a variable is a pointer to the array type (see section Call-By-Reference Parameters).
Even if the current implementation compares annotations,
future versions of the SUIF library may not, so do not depend on that
would be a better solution, but at the time when this was developed, we
did not have a C++ compiler with a robust implementation of templates.
Unlike when calling
register_library directly, the function arguments are required
when using the