| CS536 | ADVANCED COMPILER | July 2022 -Nov 2022 | Instructor: Dr. A. Sahu (email:asahu) |

TAs: [M Tech II: Abhijeet Padhy, Surbhi Jain, and PhD: K Chitra]



Course Structure: Focus on Chapters 6, 7, 8, 9, 10 and 11 of Aho-Ulman Book
Lectures (Thanks to (a) Aho-Ulman, author of OS Book, for providing PPT/PDF Slides)
  1. Introduction to CS536 Advanced Compiler: Book, Grading, Policy CS536-Lec-01.pdf
  2. Basic Compiler and Why Compilers CS536-Lec-02.pdf
  3. Prog. Lang. Basic, Memory Layout of a C Program, Compiling Multiple C Files, AST CS536-Lec-03.pdf
  4. AST and SDT CS536-Lec-04.pdf
  5. SDT CS536-Lec-05.pdf
  6. SDT and Symbol Table CS536-Lec-06.pdf
  7. SDT Annotation, Graph, Evaluation CS536-Lec-07.pdf
  8. ST and IR CS536-Lec-08.pdf
  9. Assignment I : A1
  10. IR: I Lang, I Code and I Rep CS536-Lec-09.pdf
  11. Type Translation and Flow Control CS536-Lec-11.pdf
  12. Control Flow CS536-Lec-12.pdf
  13. Control Flow CS536-Lec-13.pdf
  14. Flow Graph and Basic Blocks CS536-Lec-14.pdf
  15. Basic Blocks Optimization and Register Allocation CS536-Lec-15.pdf
  16. Assignment II : A2
  17. Register Allocation CS536-Lec-16.pdf
  18. MidSem-Sol.pdf
  19. Register Allocation and Instruction Selections CS536-Lec-17.pdf
  20. Instruction Selections and Processor Types CS536-Lec-18.pdf
  21. Machine Independent Optimizations CS536-Lec-19.pdf
  22. Machine Independent Optimizations CS536-Lec-20.pdf
  23. Loop Optimizations CS536-Lec-21.pdf
  24. Loop Optimizations CS536-Lec-22.pdf
  25. Loop Optimizations CS536-Lec-23.pdf
  26. Assignment III : A3
  27. LP and Instruction Scheduling NoSlides-CS536-Lec-24.pdf
  28. Control Flow and Data Flow Analysis CS536-Lec-25.pdf
  29. Global Data Flow Analysis CS536-Lec-26.pdf
  30. Control Flow and Data Flow Analysis CS536-Lec-27.pdf
  31. Optimization for Parallelsim and locality CS536-Lec-28.pdf
  32. Loop Iteration Space and Locality CS536-Lec-30.pdf
  33. Loop Iteration Space and Locality CS536-Lec-31.pdf
  34. Loop Iteration Space and Locality CS536-Lec-32.pdf
  35. Matrix Modeling of Data Reuse and Dependency CS536-Lec-33.pdf
  36. Matrix Modeling of Data Reuse and Dependency CS536-Lec-34.pdf
  37. Matrix Modeling of Data Reuse and Dependency CS536-Lec-35.pdf
  38. EndSem-Sol.pdf

Text Book
  1. Aho, Alfred Vaino; Lam, Monica Sin-Ling; Sethi, Ravi; Ullman, Jeffrey David (2006). Compilers: Principles, Techniques, and Tools (2 ed.). Boston, Massachusetts, USA: Addison-Wesley.
Reference Books
  1. S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997.
  2. M. J. Wolfe, High Performance Compilers for Parallel Computing, Addison-Wesley, 1995
  3. V. Sarkar, Partitioning and Scheduling Parallel Programs for Multiprocessors, MIT Press, 1989.
  4. The LLVM Compiler Infrastructure Project (LLVM Website https://llvm.org/ )
  5. Compilers for Machine Learning (C4ML): (C4ML.org)
  6. Compilers for Machine Learning (C4ML) Courses: (C4ML @IITH)

Help and Support :
  • fft.c lbm.c supportingcode.c
  • LLVM_README_ABS_HOW_TO_INSTALL_Updated.txt
  • dotguide.pdf, example.dot
  • EBook1.pdf, EBook2.pdf, EBook3.pdf

  • Class timing, Venue and Rules