Accéder directement au contenu Accéder directement à la navigation
Communication dans un congrès

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

Abstract : 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.
Type de document :
Communication dans un congrès
Liste complète des métadonnées

Littérature citée [23 références]  Voir  Masquer  Télécharger
Contributeur : Claire Medrala <>
Soumis le : mardi 7 février 2017 - 15:11:09
Dernière modification le : mercredi 14 octobre 2020 - 03:52:20
Archivage à long terme le : : lundi 8 mai 2017 - 12:11:06


Fichiers produits par l'(les) auteur(s)



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⟩



Consultations de la notice


Téléchargements de fichiers