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.