Skip to Main content Skip to Navigation
Reports

From Data to Effects Dependence Graphs: Source-to-Source Transformations for C

Abstract : Program optimizations, transformations and analyses are applied to intermediate representations, which usually do not include explicit variable declarations. This description level is fine for middle-ends and for source-to-source optimizers of simple languages. However, the C language is much more flexible: variable and type declarations can appear almost anywhere 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 statements 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. 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.
Complete list of metadatas

Cited literature [15 references]  Display  Hide  Download

https://hal-mines-paristech.archives-ouvertes.fr/hal-01254426
Contributor : Claire Medrala <>
Submitted on : Tuesday, January 12, 2016 - 11:29:49 AM
Last modification on : Thursday, September 24, 2020 - 4:36:02 PM
Long-term archiving on: : Thursday, November 10, 2016 - 11:59:45 PM

File

A-632.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01254426, version 1

Citation

Nelson Lossing, Pierre Guillou, Mehdi Amini, François Irigoin. From Data to Effects Dependence Graphs: Source-to-Source Transformations for C. [Technical Report] MINES ParisTech. 2015. ⟨hal-01254426⟩

Share

Metrics

Record views

269

Files downloads

167