Loopy: Programmable and Formally Verified Loop Transformations

Conference paper

DOI: 10.1007/978-3-662-53413-7_19

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9837)
Cite this paper as:
Namjoshi K.S., Singhania N. (2016) Loopy: Programmable and Formally Verified Loop Transformations. In: Rival X. (eds) Static Analysis. SAS 2016. Lecture Notes in Computer Science, vol 9837. Springer, Berlin, Heidelberg

Abstract

This paper presents a system, Loopy, for programming loop transformations. Manual loop transformation can be tedious and error-prone, while fully automated methods do not guarantee improvements. Loopy takes a middle path: a programmer specifies a loop transformation at a high level, which is then carried out automatically by Loopy, and formally verified to guard against specification and implementation mistakes. Loopy ’s notation offers considerable flexibility with assembling transformations, while automation and checking prevent errors. Loopy is implemented for the LLVM framework, building on a polyhedral compilation library. Experiments show substantial improvements over fully automated loop transformations, using simple and direct specifications.

Copyright information

© Springer-Verlag GmbH Germany 2016

Authors and Affiliations

  1. 1.Bell LaboratoriesNokiaMurray HillUSA
  2. 2.University of PennsylvaniaPhiladelphiaUSA

Personalised recommendations