Repository landing page
Parameterized Construction of Program Representations for Sparse Dataflow Analyses
Abstract
International audienceData-flow analyses usually associate information with control flow regions. Informally, if these regions are too small, like a point between two consecutive statements, we call the analysis dense. On the other hand, if these regions include many such points, then we call it sparse. This paper presents a systematic method to build program representations that support sparse analyses. To pave the way to this framework we clarify the bibliography about well-known intermediate program representations. We show that our approach, up to parameter choice, subsumes many of these representations, such as the SSA, SSI and e-SSA forms. In particular, our algorithms are faster, simpler and more frugal than the previous techniques used to construct SSI - Static Single Information - form programs. We produce intermediate representations isomorphic to Choi et al.'s Sparse Evaluation Graphs (SEG) for the family of data-flow problems that can be partitioned by variables. However, contrary to SEGs, we can handle - sparsely - problems that are not in this family. We have tested our ideas in the LLVM compiler, comparing different program representations in terms of size and construction time- info:eu-repo/semantics/conferenceObject
- Conference papers
- compiler
- data-flow analysis
- sparse evaluation graph
- static single assignment
- static single use
- static single information
- control flow graph
- [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL]
- [INFO.INFO-OH]Computer Science [cs]/Other [cs.OH]