Jump to content

COL731: Difference between revisions

From IITD Wiki
[checked revision][checked revision]
Creating course page via bot
 
Bot: wrap bare course codes in wikilinks
 
Line 4: Line 4:
| credits = 4
| credits = 4
| credit_structure = 3-0-2
| credit_structure = 3-0-2
| pre_requisites = COL729 or equivalent
| pre_requisites = [[COL729]] or equivalent
| overlaps =  
| overlaps =  
}}
}}

Latest revision as of 16:26, 14 April 2026

COL731
Advanced Compiler Techniques for Optimization, Safety and Security
Credits 4
Structure 3-0-2
Pre-requisites COL729 or equivalent
Overlaps

COL731 : Advanced Compiler Techniques for Optimization, Safety and Security

Polyhedral analysis for locality and parallelism transformations. The topics will include the affine transform theory in the polyhedral framework, space-partitioning constraints and associated code-generation algorithms, primitive affine transformations, and pipelining. Lab work will include experimentation and development within existing polyhedral analysis tools, such as LLVM's Polly; Undefined Behaviour will be discussed in the context of performance-sensitive programming languages such as C/C++/Rust/etc. The manifestation of Undefined Behaviour at the Intermediate Representation (IR) level will be discussed through examples of real-world IRs such as LLVM IR; Symbolic analysis approaches based on dataflow analysis/abstract interpretation will be introduced. Hoare logic and associated predicate transformers (weakest-precondition, strongest-postcondition) will be introduced. Optionally, algorithms for automatic inference of inductive invariants and bisimulations may be discussed. Optionally, superoptimization techniques may be discussed too.