Unison - Robust, Scalable, and Open Code Generation by Combinatorial Problem Solving
1 March, 2012 - 08:39RISE SICSProject
Today's compilers typically generate code in stages: instruction selection (choose appropriate instructions for the program being compiled) is followed by register allocation (assign variables to registers or memory) and instruction scheduling (order instructions to improve throughput). Each stage commonly executes an approximation algorithm as taking optimal decisions is computationally infeasible in general. Both staging and approximation compromise the quality of the generated code and...