Back to Search Start Over

Generalized profile-guided iterator recognition

Authors :
Björn Franke
Stanislav Manilov
Christos Vasiladiotis
Source :
CC, Manilov, S, Vasiladiotis, C & Franke, B 2018, Generalized Profile-Guided Iterator Recognition . in Proceedings of the 27th International Conference on Compiler Construction (CC2018) . Vienna, Austria, pp. 185-195, 27th International Conference on Compiler Construction, Vienna, Austria, 24/02/18 . https://doi.org/10.1145/3178372.3179511
Publication Year :
2018
Publisher :
ACM, 2018.

Abstract

Iterators prescribe the traversal of data structures and determine loop termination, and many loop analyses and transformations require their exact identification. While recognition of iterators is a straight-forward task for affine loops, the situation is different for loops iterating over dynamic data structures or involving control flow dependent computations to determine the next data element. In this paper we propose a compiler analysis for recognizing loop iterators code for a wide class of loops. We initially develop a static analysis, which is then enhanced with profiling information to support speculative code optimizations. We have prototyped our analysis in the LLVM framework and demonstrate its capabilities using the SPEC CPU2006 benchmarks. Our approach is applicable to all loops and we show that we can recognize iterators in, on average, 88.1% of over 75,000 loops using static analysis alone, and up to 94.9% using additional profiling information. Existing techniques perform substantially worse, especially for C and C++ applications, and cover only 35–44% of the loops. Our analysis enables advanced loop optimizations such as decoupled software pipelining, commutativity analysis and source code rejuvenation for real-world applications, which escape analysis and transformation if loop iterators are not recognized accurately.

Details

Database :
OpenAIRE
Journal :
Proceedings of the 27th International Conference on Compiler Construction
Accession number :
edsair.doi.dedup.....be6aa2db5c83e717628b60f30af2bbf6
Full Text :
https://doi.org/10.1145/3178372.3179511