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
16th IEEE International Working Conference on Source Code Analysis and Manipulation , Oct 2016, Raleigh, United States. pp.167-176, Source Code Analysis and Manipulation (SCAM), 2016 IEEE 16th International Working Conference on. <http://www.ieee-scam.org/2016/>. <10.1109/SCAM.2016.20>
Liste complète des métadonnées


https://hal-mines-paristech.archives-ouvertes.fr/hal-01359465
Contributeur : Claire Medrala <>
Soumis le : mardi 7 février 2017 - 15:11:09
Dernière modification le : dimanche 12 février 2017 - 01:05:33

Fichier

A-643.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

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, Source Code Analysis and Manipulation (SCAM), 2016 IEEE 16th International Working Conference on. <http://www.ieee-scam.org/2016/>. <10.1109/SCAM.2016.20>. <hal-01359465>

Partager

Métriques

Consultations de
la notice

75

Téléchargements du document

25