|Office Hours:||By Appointment|
|Office Hours:||TBD or By Appointment|
|Class Meeting Times:||11:00AM - 12:20PM, Tuesday-Thursday (CHASS Interdisciplinary-North | Room 1002)|
In this course we will learn about the fundamentals of program analysis (control and data flow analysis, interprocedural analysis etc.) as well as algorithms for constructing advanced intermediate program representations (e.g., Control Flow Graph, SSA form etc.). The above techniques and representations will be used to develop a suite of machine independent code optimizations (constant & copy propagation, redundancy & dead code elimination, global value numbering etc.). We will also consider machine dependent optimizations (e.g., acyclic & cyclic instruction scheduling, register allocation) for modern processors. Finally we will consider compiler support for parallelizing applications for multicore systems.