Structure of LooPo

LooPo consists of a set of separate binaries which are invoked from the front end.

All possible choices in the binaries should be controlled by options in the command line. This way the front end can easily select all features of the module. Usually, a Tk/Tcl option window for the new is built, such that the user has easy acces to the features by clicking around, and the front end just reads the respective Tk/Tcl variables and propagates them as suitable options to the module.

Information exchange between different modules is done by intermediate ASCII files. They are not meant for being read by human beings, but by a computer---even if it is possible to read and interpret the file yourself. Examples for these intermediate files are the parse tree with the symbol table, the file describing the dependences, the index spaces, the schedule, and so on.

In the following, there are the descriptions of all files, listed according to the phase in which they are computed. Every file name is a concatenation of the source file name, also called <project>, plus ".out", appended by a suffix, describing the content, e.g., "check.src.out.dep".

The SpecToLooPo tool has its own input file format described here.

In addition, we have a brief description of how to add a new module to the frontend.


Martin Griebl