Dynamic profile collection for LLVM.
One has to harness dynamic and adaptive recompilation methods when designing the system for general-purpose languages compilation which takes into account the specific factors of target hardware and the most likely way of usage. It is favorable to research those methods in the LLVM infrastructure environment. Unfortunately, LLVM does not support dynamic profile collection and recompilation at the moment, as well as contains only one profile-based optimization. Within the introduced work, we proposed and implemented the system for hardware interruptions profile collection and the algorithm to correct profile estimations, and, apart from that, the number of profile-based optimizations. We integrated dynamic profile collection into the LLVM dynamic compiler resulting in constant program quality regardless of hardware architecture.
Proceedings of the Institute for System Programming, vol. 21, 2011, pp. 71-82.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).