Properties of Profile-Guided Compiler Optimizations with GCC and LLVM
View/ Open
Issue Date
2022-12-31Author
Pal, Soma
Publisher
University of Kansas
Format
54 pages
Type
Thesis
Degree Level
M.S.
Discipline
Electrical Engineering & Computer Science
Rights
Copyright held by the author.
Metadata
Show full item recordAbstract
Profile-guided optimizations (PGO) are a class of sophisticated compiler transformations that employ information regarding the profile or execution-time behavior of a program to improve program performance, typically speed. PGOs for popular language platforms,like C, C++ and Java, are generally regarded as a mature and mainstream technology andare supported by most standard compilers. Consequently, properties and characteristics of PGOs are assumed to be established and known, but have rarely been systematically studied with multiple mainstream compilers. The goal of this work is to explore and report some important properties of PGOs in mainstream compilers, specifically GCC and LLVM in this work. We study the performance delivered by PGOs at the program and function-level, impact of different execution profiles on PGO performance, and compare relative PGO benefit delivered by different mainstream compilers. We also describe the experimental framework that we built to conduct this research. We expect that our research will help focus future developmental work and research in PGOs and assist in building frameworks to field PGOs in actual systems.
Collections
- Theses [3976]
Items in KU ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.
We want to hear from you! Please share your stories about how Open Access to this item benefits YOU.