Low-cost memory analyses for efficient compilers

Abstract : This thesis was motivated by the emergence of massively parallel processing and supercomputingthat 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 theinformation systems community. Handling memory in a correct and efficient way is a step towardless complex and more performing programs and architectures. This thesis falls into this contextand contributes to memory analysis and compilation fields in both theoretical and experimentalaspects.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 imprecisionthat published techniques still show. Among the present limitations, we focus our research onthe pointer arithmetic to disambiguate pointers within the same data structure. We develop ouranalyses 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 ofpointers defined from a common base pointer, they are disjoint if their offsets cannot have valuesthat intersect at runtime. The second pointer analysis we develop is inspired from the Pentagonabstract domain. We conclude that two pointers do not alias whenever we are able to build astrict relation between them, valid at program points where the two variables are simultaneouslyalive. In a third algorithm we design, we combine both the first and second analysis, and enhancethem 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 theirperformance based on two metrics: the number of disambiguated pairs of pointers compared tocommon analyses of the compiler, and the optimizations further enabled thanks to the extraprecision they introduce
Document type :
Liste complète des métadonnées

Cited literature [107 references]  Display  Hide  Download

Contributor : Abes Star <>
Submitted on : Monday, December 11, 2017 - 11:15:04 PM
Last modification on : Wednesday, July 18, 2018 - 1:17:04 AM


Version validated by the jury (STAR)


  • HAL Id : tel-01626398, version 2


Maroua Maalej Kammoun. Low-cost memory analyses for efficient compilers. Other [cs.OH]. Université de Lyon, 2017. English. ⟨NNT : 2017LYSE1167⟩. ⟨tel-01626398v2⟩



Record views


Files downloads