Effects Dependence Graph: A Key Data Concept for C Source-to-Source Compilers - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2016

Effects Dependence Graph: A Key Data Concept for C Source-to-Source Compilers

Résumé

Optimizations, transformations and analyses are applied to programs by compilers at the intermediate representation level, which usually does not include explicit variable declarations. This description level is fine for middle-ends and for source-to-source optimizers of simple languages. Meanwhile, the C language has become much more flexible since the C99 standard, and let variable and type declarations appear almost anywhere in source code. We present in this paper a new concept to manage C99 declarations in a source-to-source compiler: the Effects Dependence Graph, which is an extension of the classical Data Dependence Graph. It deals particularly efficiently with user-defined type declarations or dependent types like Variable-Length Array. It is also interesting because no legal scheduling transformation is hindered and because existing algorithms are either not or slightly modified. Finally it reduces the need for variable, struct and array privatization or live range analyses in automatic parallelizers. To the best of our knowledge, the declaration issue is ignored in the literature: existing C source-to-source compilers either do not support C99, or accept only restricted portions of code, and production compilers use low-level intermediate representations, possibly with annotations. In this way our solution addresses a wider range of compiler analysis issues.

Domaines

Fichier principal
Vignette du fichier
A-643.pdf (541.87 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01359465 , version 1 (07-02-2017)

Identifiants

Citer

Nelson Lossing, Pierre Guillou, François Irigoin. Effects Dependence Graph: A Key Data Concept for C Source-to-Source Compilers. 16th IEEE International Working Conference on Source Code Analysis and Manipulation , Oct 2016, Raleigh, United States. pp.167-176, ⟨10.1109/SCAM.2016.20⟩. ⟨hal-01359465⟩
100 Consultations
707 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More