E0-255 : Compiler Design

Course Outline:

    Runtime and storage management; Control flow graphs and analysis; Dataflow analysis; Static single assignment (SSA); Compiler optimizations; Dependence analysis, Loop optimizations and transformations, Parallelization, Optimizations for cache locality, and Vectorization; Domain-specific languages, compilation, and optimization; Register allocation, Instruction scheduling; Run time environment and storage management; Impact of language design and architecture evolution on compilers.

    References

    • Aho, A.V., Monica S. Lam, Ravi Sethi and J.D. Ullman: Compilers – Principles, Techniques and Tools, Peason Pub., 2013. 2nd Edition
    • S. Muchnick: Advanced Compiler Design and Implementation, Morgan Kauffman, 1998
    • Current Literature

    Time :    TTh 9.30 - 11.00 a.m.

    Team's Meeting Link    

    Evaluation: (tentative)

    • Mid-term :          20 marks
    • Assignments :    30 marks
    • Term Paper :     15 marks
    • Final Exam :      35 marks
    Course Policy on Academic Integrity:

    Academic integrity must be maintained in the entire course in all assignments, term paper, mid-term tests, and final examination. Zero-tolerance policy against any form cheating/copying/misconduct on academic integrity.
    Please see the department policy on academic misconduct.

    Course-Specific Policy:

    • · Zero marks: All students (who were involved in copying) receives zero marks for the entire assignment/exam/etc. 
    • One grade Penalty: If a student is charged with misconduct for the second time in the course, additionally one-grade penalty will be awarded.
    • Report to DCC: All academic misconducts would be reported to DCC of the department. A permanent record of the cheating incident will be placed in your student file. You are liable for any action taken by the department for academic misconduct.