Skip to Main content Skip to Navigation
Theses

Low-cost memory analyses for efficient compilers

Abstract : This thesis was motivated by the emergence of massively parallel processing and supercomputing that tend to make computer programming extremely performing. Speedup, the power consump- tion, and the efficiency of both software and hardware are nowadays the main concerns of the information systems community. Handling memory in a correct and efficient way is a step toward less complex and more performing programs and architectures. This thesis falls into this context and contributes to memory analysis and compilation fields in both theoretical and experimental aspects. Besides the deep study of the current state-of-the-art of memory analyses and their limitations, our theoretical results stand in designing new algorithms to recover part of the imprecision that published techniques still show. Among the present limitations, we focus our research on the pointer arithmetic to disambiguate pointers within the same data structure. We develop our analyses in the abstract interpretation framework. The key idea behind this choice is correctness, and scalability: two requisite criteria for analyses to be embedded to the compiler construction. The first alias analysis we design is based on the range lattice of integer variables. Given a pair of pointers defined from a common base pointer, they are disjoint if their offsets cannot have values that intersect at runtime. The second pointer analysis we develop is inspired from the Pentagon abstract domain. We conclude that two pointers do not alias whenever we are able to build a strict relation between them, valid at program points where the two variables are simultaneously alive. In a third algorithm we design, we combine both the first and second analysis, and enhance them with a coarse grained but efficient analysis to deal with non related pointers. We implement these analyses on top of the LLVM compiler. We experiment and evaluate their performance based on two metrics: the number of disambiguated pairs of pointers compared to common analyses of the compiler, and the optimizations further enabled thanks to the extra precision they introduce.
Complete list of metadatas

Cited literature [106 references]  Display  Hide  Download

https://hal.inria.fr/tel-01626398
Contributor : Maroua Maalej <>
Submitted on : Monday, October 30, 2017 - 5:36:21 PM
Last modification on : Friday, April 20, 2018 - 3:44:27 PM
Document(s) archivé(s) le : Wednesday, January 31, 2018 - 1:50:03 PM

File

PhD.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : tel-01626398, version 1

Citation

Maroua Maalej. Low-cost memory analyses for efficient compilers. Computer Science [cs]. UNIVERSITÉ DE LYON, 2017. English. ⟨tel-01626398v1⟩

Share

Metrics

Record views

84

Files downloads

92