“Experimental Evaluation of Various Register Pressure Reduction Heuristics”. Ghassan Shobaki, Laith Sakka, Najm Eldeen Abu-Rmaileh and Hasan Al-Hamash. Software: Practice and Experience. Wiley Online Library, DOI: 10.1002/spe.2297, Nov. 2014, to be included in an issue.
This work was mostly done in the summer of 2013 and was discussed on this mailing list back then, but journal papers take a relatively long time to publish. The part that was not discussed on this list is the simple but effective heuristic that we call LUC_CP. This basic heuristic has given a surprisingly good overall performance on x86 in our environment. This heuristic is currently implemented as a research prototype, using our own infrastructure that has lots of redundancies and non-standard data structures. It’d be great if someone in the LLVM community is interested in implementing this as a clean and compact patch. That could result in a good default heuristic for out-of-order targets.
Department of Computer Science
Princess Sumaya University for Technology
Research Web Site: PSUT Compiler