Behavioral Embeddings of Programs: A Quasi-Dynamic Approach for Optimization Prediction
Haolin Pan, Jinyuan Dong, Hongbin Zhang, Hongyu Lin, Mingjie Xing, Yanjun Wu
TL;DR
This work tackles the challenge of learning program representations that effectively predict compiler optimization outcomes. It introduces the Program Behavior Spectrum, a quasi-dynamic representation built by probing LLVM IR with diverse optimization sequences and measuring scale-invariant changes in a $56$-dimensional Autophase feature space. The spectrum is discretized via Product Quantization into a compositional code and learned with a multi-task Transformer named PQ-BERT, enabling deep modeling of the behavioral grammar. Empirically, Behavioral-PQ outperforms state-of-the-art static baselines on Best Pass Prediction and $-Oz$ Benefit Prediction, with strong ablations and embedding-space analyses supporting the value of scale-invariant, compositional encoding. The approach offers a scalable, interpretable path toward more accurate and robust compiler optimization predictions, with public code to support reproducibility and further exploration.
Abstract
Learning effective numerical representations, or embeddings, of programs is a fundamental prerequisite for applying machine learning to automate and enhance compiler optimization. Prevailing paradigms, however, present a dilemma. Static representations, derived from source code or intermediate representation (IR), are efficient and deterministic but offer limited insight into how a program will behave or evolve under complex code transformations. Conversely, dynamic representations, which rely on runtime profiling, provide profound insights into performance bottlenecks but are often impractical for large-scale tasks due to prohibitive overhead and inherent non-determinism. This paper transcends this trade-off by proposing a novel quasi-dynamic framework for program representation. The core insight is to model a program's optimization sensitivity. We introduce the Program Behavior Spectrum, a new representation generated by probing a program's IR with a diverse set of optimization sequences and quantifying the resulting changes in its static features. To effectively encode this high-dimensional, continuous spectrum, we pioneer a compositional learning approach. Product Quantization is employed to discretize the continuous reaction vectors into structured, compositional sub-words. Subsequently, a multi-task Transformer model, termed PQ-BERT, is pre-trained to learn the deep contextual grammar of these behavioral codes. Comprehensive experiments on two representative compiler optimization tasks -- Best Pass Prediction and -Oz Benefit Prediction -- demonstrate that our method outperforms state-of-the-art static baselines. Our code is publicly available at https://github.com/Panhaolin2001/PREP/.
