Automatic Propagation of Profile Information through the Optimization Pipeline
Elisa Fröhlich, Angelica Aparecida Moreira, Fernando Magno Quintão Pereira
Abstract
Profile-guided optimization (PGO) is a well-established technique for improving program performance, being integrated into major compilers such as GCC, LLVM/Clang, and Microsoft Visual C++. PGO collects information about a program's execution and uses it to guide optimizations such as inlining, and code layout. However, these very transformations alter the program's control flow, rendering the collected profiles stale or inaccurate. To deal with this problem, this paper investigates how to reuse profile data after optimization without re-executing the program. We study two complementary strategies: prediction, which estimates likely hot code paths in the optimized program, and projection, which transfers profile information from the original control-flow graph to its transformed version. We evaluate several techniques for reconstructing profile data, including a large language model (LLM)-based approach using GPT-4o, and a lightweight method that compares opcode histograms of code regions recursively to identify structural similarities. Our results show that the histogram-based method is not only simpler but also consistently more accurate than both the LLM-based approach and prior prediction and projection techniques, including those implemented in LLVM and the BOLT binary optimizer.
CCS Concepts: • Software and its engineering → Compilers.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e9804930-1207-46a7-b5ba-bbb0f00a57b3Cited by top-tier papers2
- Wax: Optimizing Data Center Applications With Stale ProfileTawhid Bhuiyan, Sumya Hoque, Angelica Aparecida Moreira, Tanvir Ahmed KhanASPLOS 2026 · 1 citation
- Symbolic Basic Block Profiling for Machine Learning KernelsJingyu Qiu, Rongcui Dong, Sreepathi PaiOOPSLA 2026
Builds on6
- Asm2Vec: Boosting Static Representation Robustness for Binary Clone Search against Code Obfuscation and Compiler OptimizationSteven H. H. Ding, Benjamin C. M. Fung, Philippe CharlandS&P 2019 · 447 citations
- BinSim: Trace-based Semantic Binary Diffing via System Call Sliced Segment Equivalence CheckingJiang Ming, Dongpeng Xu, Yufei Jiang, Dinghao WuUSENIX Security 2017 · 118 citations
- Propeller: A Profile Guided, Relinking Optimizer for Warehouse-Scale ApplicationsHan Shen, Krzysztof Pszeniczny, Rahman Lavaee, Snehasish Kumar et al.ASPLOS 2023 · 37 citations
- Improving cross-platform binary analysis using representation learning via graph alignmentGeunwoo Kim, Sanghyun Hong, Michael Franz, Dokyung SongISSTA 2022 · 25 citations
- VESPA: static profiling for binary optimizationAngelica Aparecida Moreira, Guilherme Ottoni, Fernando Magno Quintão PereiraOOPSLA 2021 · 18 citations
Related papers
- Profile inference revisitedWenlei He, Julián Mestre, Sergey Pupyrev, Lei Wang et al.POPL 2022 · 16 citations
- ProfiX: Improving Profile-Guided Optimization in Compilers with Graph Neural NetworksHuiri Tan, Juyong Jiang, Jiasi ShenNeurIPS 2025 · 4 citations
- Can Large Language Models Understand Intermediate Representations in Compilers?Hailong Jiang, Jianfeng Zhu, Yao Wan, Bo Fang et al.ICML 2025
- Phaedrus: Predicting Dynamic Application Behavior with Lightweight Generative Models and LLMsBodhisatwa Chatterjee, Neeraj Jadhav, Santosh PandeOOPSLA 2026
- Not so fast: understanding and mitigating negative impacts of compiler optimizations on code reuse gadget setsMichael D. Brown, Matthew Pruett, Robert Bigelow, Girish Mururu et al.OOPSLA 2021 · 11 citations
