Oral Comprehensive Exam Details
Instruction Scheduling, Register Allocation, and Search
|Date:||October 25, 2011|
|Committee:||Matt Ginsberg (Chair)|
Compilers are central to software development; they isolate the programmer from the details of the physical hardware while still producing efficient, optimized executables. To producing a valid executable, the compiler must generate valid instruction schedules and register assignments. Together, scheduling and assignment comprise an instance of the resource constrained scheduling problem. The general form of this problem is well studied with many successful, search-based solutions. However, compiler research largely ignores these approaches, focusing on effective scheduling heuristics and program reorganization techniques. Search-based algorithms may make additional improvement in the generated executable.