Dealing with arithmetic overflows in the polyhedral model

Bruno Cuervo Parrino 1, 2 Julien Narboux 2, 3 Eric Violard 2, 4 Nicolas Magaud 2, 3
2 CAMUS - Compilation pour les Architectures MUlti-coeurS
LSIIT - Laboratoire des Sciences de l'Image, de l'Informatique et de la Télédétection, Inria Nancy - Grand Est
3 IGG
LSIIT - Laboratoire des Sciences de l'Image, de l'Informatique et de la Télédétection
4 ICPS
LSIIT - Laboratoire des Sciences de l'Image, de l'Informatique et de la Télédétection
Abstract : The polyhedral model provides techniques to optimize Static Control Programs (SCoP) using some complex transforma- tions which improve data-locality and which can exhibit par- allelism. These advanced transformations are now available in both GCC and LLVM. In this paper, we focus on the cor- rectness of these transformations and in particular on the problem of integer overflows. Indeed, the strength of the polyhedral model is to produce an abstract mathematical representation of a loop nest which allows high-level trans- formations. But this abstract representation is valid only when we ignore the fact that our integers are only machine integers. In this paper, we present a method to deal with this problem of mismatch between the mathematical and concrete representations of loop nests. We assume the exis- tence of polyhedral optimization transformations which are proved to be correct in a world without overflows and we provide a self-verifying compilation function. Rather than verifying the correctness of this function, we use an approach based on a validator, which is a tool that is run by the com- piler after the transformation itself and which confirms that the code produced is equivalent to the original code. As we aim at the formal proof of the validator we implement this validator using the Coq proof assistant as a programming language [4].
Document type :
Conference papers
Complete list of metadatas

Cited literature [19 references]  Display  Hide  Download

https://hal.inria.fr/hal-00655485
Contributor : Julien Narboux <>
Submitted on : Thursday, December 29, 2011 - 3:47:15 PM
Last modification on : Saturday, January 13, 2018 - 1:03:10 AM
Long-term archiving on : Monday, December 5, 2016 - 5:42:49 AM

File

polyproofs.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00655485, version 1

Collections

Citation

Bruno Cuervo Parrino, Julien Narboux, Eric Violard, Nicolas Magaud. Dealing with arithmetic overflows in the polyhedral model. IMPACT 2012 - 2nd International Workshop on Polyhedral Compilation Techniques, Louis-Noel Pouchet, Jan 2012, Paris, France. ⟨hal-00655485⟩

Share

Metrics

Record views

523

Files downloads

191