Loop quasi-invariant chunk motion by peeling with statement composition

Jean-Yves Moyen, Thomas Rubiano, Thomas Seiller

56 Downloads (Pure)

Abstract

Several techniques for analysis and transformations are used in compilers. Among them, the peeling of loops for hoisting quasi-invariants can be used to optimize generated code, or simply ease developers' lives. In this paper, we introduce a new concept of dependency analysis borrowed from the field of Implicit Computational Complexity (ICC), allowing to work with composed statements called "Chunks" to detect more quasi-invariants. Based on an optimization idea given on a WHILE language, we provide a transformation method - reusing ICC concepts and techniques [9, 10] -To compilers. This new analysis computes an invariance degree for each statement or chunks of statements by building a new kind of dependency graph, finds the "maximum" or "worst" dependency graph for loops, and recognizes if an entire block is Quasi-Invariant or not. This block could be an inner loop, and in that case the computational complexity of the overall program can be decreased. We already implemented a proof of concept on a toy C parser1 analysing and transforming the AST representation. In this paper, we introduce the theory around this concept and present a prototype analysis pass implemented on LLVM. In a very near future, we will implement the corresponding transformation and provide benchmarks comparisons.

OriginalsprogEngelsk
TitelProceedings 8th Workshop on Developments in Implicit Computational Complexity and 5th Workshop on Foundational and Practical Aspects of Resource Analysis
RedaktørerGuillaume Bonfante, Georg Moser
Antal sider13
ForlagOpen Publishing Association
Publikationsdato18 apr. 2017
Sider47-59
DOI
StatusUdgivet - 18 apr. 2017
Begivenhed8th Workshop on Developments in Implicit Computational Complexity and 5th Workshop on Foundational and Practical Aspects of Resource Analysis - Uppsala, Sverige
Varighed: 22 apr. 201723 apr. 2017

Workshop

Workshop8th Workshop on Developments in Implicit Computational Complexity and 5th Workshop on Foundational and Practical Aspects of Resource Analysis
Land/OmrådeSverige
ByUppsala
Periode22/04/201723/04/2017
NavnElectronic Proceedings in Theoretical Computer Science
Vol/bind248
ISSN2075-2180

Fingeraftryk

Dyk ned i forskningsemnerne om 'Loop quasi-invariant chunk motion by peeling with statement composition'. Sammen danner de et unikt fingeraftryk.

Citationsformater