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 are equivalent.


Note that 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 behavior.


C++ templates 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 LIBRARY macro.