Improve hot cold splitting to aggressively outline small blocks
- Mentors
- Aditya Kumar, Rodrigo Rocha
- Organization
- The LLVM Compiler Infrastructure
This project aims at enhancing the ability to detect and split small cold blocks (for example, __assert_rtn, throws) to the existing hot/cold splitting pass in LLVM. We will utilize both static analysis and experimental data from code profiling to identify patterns of small cold blocks that are splittable, and aim to implement these splitting capabilities without inducing superlinear compile-time overhead in the existing hot/cold splitting pass. We will also aim at fine-tuning the existing cost model of LLVM’s hot/cold splitting pass, such that the optimizer can “bail out” should superlinear compile-time overhead occur.