From Data to Effects Dependence Graphs: Source-to-Source Transformations for CReportar como inadecuado

From Data to Effects Dependence Graphs: Source-to-Source Transformations for C - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

1 CRI - Centre de Recherche en Informatique

Abstract : Program optimizations, transformations and analyses are ap-plied to intermediate representations, which usually do not include ex-plicit variable declarations. This description level is fine for middle-ends and for source-to-source optimizers of simple languages such as For-tran77. However, the C language, especially its C99 standard, is much more flexible. Variable and type declarations can appear almost any-where in source code, and they cannot become implicit in the output code of a C source-to-source compiler. We show that declaration statements can be handled like the other state-ments and with the same algorithms if new effect information is defined and handled by the compiler, such as writing the environment when a variable is declared and reading it when it is accessed. Our solution is useful because no legal transformation is hindered by our new effects and because existing algorithms are either not modified or only slightly modified by filtering upon the effect kind. This extension has been used for several years in our PIPS framework and has remained compatible with its new developments such as offloading compilers for GPUs and coprocessors.

Keywords : C Language Declaration Scheduling Source-to-Source Compiler Data Dependence Graph

Autor: Nelson Lossing - Pierre Guillou - Mehdi Amini - François Irigoin -



Documentos relacionados