Optimizing Compilers for Modern Architectures Course ID 15745 Doctoral Breadth Course: Computer Systems - (*) Classes marked with "*" (star) are appropriate for any CSD doctoral or 5th year master's student. Description Theoretical and practical aspects of building optimizing compilers that e¿ectively exploit modern architectures. The course will begin with the fundamentals of compiler optimization, and will build upon these fundamentals to address issues in state-of-the-art commercial and research machines. Key Topics intermediate representations, basic blocks and flow graphs, data flow analysis, partial evaluation and redundancy elimination, loop optimizations, register allocation, instruction scheduling, interprocedural analysis, memory hierarchy optimizations, extracting parallelism, and dynamic optimizations Required Background Knowledge The course is geared toward students who have already had such a course as undergraduates. If you have not taken a compilers course already, it is still possible to take this course provided that you are willing to spend some additional time catching up on your own. It will also be helpful if you have some familiarity with the features of modern processor architectures (e.g., the memory hierarchy, pipelining, branch prediction, and instruction issue mechanisms). Course Relevance For CS or ECE graduate students - If you are not a graduate student in either the CS or ECE program, you need permission to take this class. Course Goals The course will begin with the fundamentals of compiler optimization, and will build upon these fundamentals to address issues in state-of-the-art commercial and research machines. Learning Resources Piazza, lecture notes, textbook: Compilers: Principles, Techniques, and Tools (2nd Edition). Addison Wesley, 2006. ISBN: 978-0321486814. (NOTE: It is important to use the 2nd Edition, rather than an earlier edition.) Assessment Structure Exam: 35%; Homework: 20%; Project: 35%; Class Participation: 10% Course Link https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15745-s23/www