NPTEL : Compiler Design (Prof. Y.N. Srikanth) (Computer Science and Engineering)

Co-ordinators : Prof. Y.N. Srikanth


Lecture 1 - An Overview of a Compiler - Part 1

Lecture 2 - An Overview of a Compiler - Part 2 and Run-Time Environments - Part 1

Lecture 3 - An Overview of a Compiler - Part 2 and Run-Time Environments - Part 1

Lecture 4 - Run-Time Environments - Part 2

Lecture 5 - Run-Time Environments - Part 3 and Local Optimizations - Part 1

Lecture 6 - Run-Time Environments - Part 3 and Local Optimizations - Part 1

Lecture 7 - Local Optimizations - Part 2 and Code Generation - Part 1

Lecture 8 - Local Optimizations - Part 2 and Code Generation - Part 1

Lecture 9 - Code Generation - Part 1

Lecture 10 - Code Generation - Part 2

Lecture 11 - Code Generation - Part 3 and Global Register Allocation - Part 1

Lecture 12 - Code Generation - Part 3 and Global Register Allocation - Part 1

Lecture 13 - Global Register Allocation - Part 2

Lecture 14 - Global Register Allocation - Part 3 and Implementing Object-Oriented Languages - Part 1

Lecture 15 - Global Register Allocation - Part 3 and Implementing Object-Oriented Languages - Part 1

Lecture 16 - Implementing Object-Oriented Languages - Part 2 and Introduction to Machine-Independent Optimizations - Part 1

Lecture 17 - Implementing Object-Oriented Languages - Part 2 and Introduction to Machine-Independent Optimizations - Part 1

Lecture 18 - Introduction to Machine-Independent Optimizations - Part 2 and Data-Flow Analysis - Part 1

Lecture 19 - Introduction to Machine-Independent Optimizations - Part 2 and Data-Flow Analysis - Part 1

Lecture 20 - Data-Flow Analysis - Part 2

Lecture 21 - Data-Flow Analysis - Part 3 and Control-Flow Analysis - Part 1

Lecture 22 - Data-Flow Analysis - Part 3 and Control-Flow Analysis - Part 1

Lecture 23 - Control-Flow Analysis - Part 2

Lecture 24 - Machine-Independent Optimizations - Part 1

Lecture 25 - Machine-Independent Optimizations - Part 2

Lecture 26 - Machine-Independent Optimizations - Part 3 and Data-Flow Analysis: Theoretical Foundation - Part 1

Lecture 27 - Machine-Independent Optimizations - Part 3 and Data-Flow Analysis: Theoretical Foundation - Part 1

Lecture 28 - Data-Flow Analysis: Theoretical Foundation - Part 2 and Partial Redundancy Elimination - Part 1

Lecture 29 - Data-Flow Analysis: Theoretical Foundation - Part 2 and Partial Redundancy Elimination - Part 1

Lecture 30 - Partial Redundancy Elimination - Part 2

Lecture 31 - The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 1

Lecture 32 - The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 2

Lecture 33 - The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 3

Lecture 34 - Automatic Parallelization - Part 1

Lecture 35 - Automatic Parallelization - Part 2

Lecture 36 - Automatic Parallelization - Part 3

Lecture 37 - Automatic Parallelization - Part 4

Lecture 38 - Instruction Scheduling - Part 1

Lecture 39 - Instruction Scheduling - Part 2

Lecture 40 - Instruction Scheduling - Part 3

Lecture 41 - Software Pipelining

Lecture 42 - Energy-Aware Software Systems - Part 1

Lecture 43 - Energy-Aware Software Systems - Part 2

Lecture 44 - Energy-Aware Software Systems - Part 3

Lecture 45 - Energy-Aware Software Systems - Part 4

Lecture 46 - Just-In-Time Compilation and Optimizations for .NET CLR

Lecture 47 - Garbage Collection

Lecture 48 - Interprocedural Data-Flow Analysis

Lecture 49 - Worst Case Execution Time - Part 1

Lecture 50 - Worst Case Execution Time - Part 2