Passer à la navigation principale Passer à la recherche Passer au contenu principal

A non-iterative data-flow algorithm for computing liveness sets in strict SSA programs

  • Benoit Boissinot
  • , Florian Brandner
  • , Alain Darte
  • , Benoît Dupont De Dinechin
  • , Fabrice Rastello
  • ENS Lyon
  • Kalray

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

Résumé

We revisit the problem of computing liveness sets (the sets of variables live-in and live-out of basic blocks) for programs in strict static single assignment (SSA). In strict SSA, aka SSA with dominance property, the definition of a variable always dominates all its uses. We exploit this property and the concept of loop-nesting forest to design a fast two-phases data-flow algorithm: a first pass traverses the control-flow graph (CFG), propagating liveness information backwards, a second pass traverses a loop-nesting forest, updating liveness sets within loops. The algorithm is proved correct even for irreducible CFGs. We analyze its algorithmic complexity and evaluate its efficiency on SPECINT 2000. Compared to traditional iterative data-flow approaches, which perform updates until a fixed point is reached, our algorithm is 2 times faster on average. Other approaches are possible that propagate from uses to definitions, one variable at a time, instead of unioning sets as in data-flow analysis. Our algorithm is 1.43 times faster than the fastest alternative on average, when sets are represented as bitsets and for optimized programs, which have non-trivial live-ranges and a larger number of variables.

langue originaleAnglais
titreProgramming Languages and Systems - 9th Asian Symposium, APLAS 2011, Proceedings
Pages137-154
Nombre de pages18
Les DOIs
étatPublié - 26 déc. 2011
Modification externeOui
Evénement9th Asian Symposium on Programming Languages and Systems, APLAS 2011 - Kenting, Taiwan
Durée: 5 déc. 20117 déc. 2011

Série de publications

NomLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7078 LNCS
ISSN (imprimé)0302-9743
ISSN (Electronique)1611-3349

Une conférence

Une conférence9th Asian Symposium on Programming Languages and Systems, APLAS 2011
Pays/TerritoireTaiwan
La villeKenting
période5/12/117/12/11

Empreinte digitale

Examiner les sujets de recherche de « A non-iterative data-flow algorithm for computing liveness sets in strict SSA programs ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation