Jump to content

COL731

From IITD Wiki
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

[edit]

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.