Go to the previous, next section.

Annotations

Because it is a research compiler, SUIF is designed to be both flexible and extensible. Annotations, which may contain arbitrary data structures, are the primary means of providing this extensibility. Objects that are derived from the suif_object class have lists of annotations associated with them. This includes most of the major SUIF objects such as instructions, tree nodes, symbols, types, symbol tables, and file set entries. New annotations can be declared by any program and used to record whatever information is needed within that program. They can also be written to the SUIF output files so that other programs can use them. The annotation manager records the annotation names and the format of the data associated with each kind of annotation.

Go to the previous, next section.