Empirical Observations about Profile-Guided Optimizations for Mainstream C/C++ Compilers
The idea behind profile-guided optimizations (PGO) is to monitor different aspects of a program’s run-time behavior, and then employ this information to guide decisions during individual compiler optimizations to improve program performance. PGO is a mature technology that is available in most mainstream compilers and is widely regarded to benefit performance. In this work, we conduct the first comprehensive empirical study of the behavior and properties of PGOs in two state-of-the-art mainstream C/C++ compilers, GCC and Clang, evaluated using MiBench embedded system benchmarks on x86-64 platform. Our study reveals many interesting, some expected and some counter-intuitive observations about PGOs in mainstream C/C++ compilers. We believe our intellectually intriguing observations will help compiler designers and software developers further develop and usefully deploy this technology.
Mon 15 JunDisplayed time zone: Mountain Time (US & Canada) change
14:00 - 15:20 | Session 1: Advanced Compiler TuningLCTES at Flatirons 3 Chair(s): Myeonggyun Han Kyungpook National University | ||
14:00 10mKeynote | Opening Remarks LCTES Jeronimo Castrillon TU Dresden, Germany | ||
14:10 22mTalk | RAPO: Retrieval-Augmented Phase Ordering LCTES Jinwook Yang Seoul National University, Junghyun Lee Seoul National University, South Korea, Yeonsun Hong Seoul National University, Hyojin Sung Seoul National University DOI | ||
14:32 22mTalk | CausalTuner: Feature-Aware Causal Guidance for Compiler Auto-tuning LCTES Jiaqing Zhong National University of Defense Technology, Juan Chen College of Computer Science and Technology, National University of Defense Technology, China, Yichang Zhou National University of Defense Technology, Kuan Li Dongguan University of Technology DOI | ||
14:54 22mTalk | Empirical Observations about Profile-Guided Optimizations for Mainstream C/C++ Compilers LCTES DOI | ||