GSoC/GCI Archive
Google Summer of Code 2009 LLVM Compiler Infrastructure

Adding Static Profiling Capabilities to LLVM

by Andrei Rimsa for LLVM Compiler Infrastructure

The project goal is to augment LLVM with static profiling capabilities. Static profiling will help the compiler to identify which parts of a program are executed more frequently. Therefore the compiler can spend more resources in order to optimize these specific parts. In addition to this implementation, we will use it to enhance the linear scan register allocator used in LLVM, so that when necessary to spill variables, the allocator will choose those variables that tend to be the least used.