For full conference details, see the website: http://llvm.org/devmtg/2019-10/
Back To Schedule
Tuesday, October 22 • 5:15pm - 5:50pm
Hot Cold Splitting Optimization Pass In LLVM

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Hot Cold splitting is an optimization to improve instruction locality. It is used to outline basic blocks which execute less frequently. The hot/cold splitting pass identifies cold basic blocks and moves them into separate functions. The linker can then put newly-created cold functions away from the rest of the program . The idea here is to have these cold pages faulted in relatively infrequently, and to improve the memory locality of code outside of the cold area.
The algorithm is novel in the sense it is based on region and implemented at the IR level. Because it is implemented at the IR level, all the backend targets benefit from this implementation. Other implementations of hot-cold splitting outline each basic block separately and are implemented at the RTL level.

avatar for Aditya Kumar

Aditya Kumar

Software Engineer, Snap Inc
I've been working on LLVM since 2012. I've contributed to modern compiler optimizations like GVNHoist, Hot Cold Splitting, Hexagon specific optimizations, clang static analyzer, libcxx, libstdc++, and graphite framework of gcc.

Tuesday October 22, 2019 5:15pm - 5:50pm PDT
General Session (LL20ABC)