Compiler Design. Instructor: Prof. Y. N. Srikant, Department of Computer Science and Automation, IISc Bangalore.
September 25, 2023
English
English [CC]
Description
This course aims to teach students the principles involved in compiler design. It will cover all the basic components of a compiler but not the advanced material on optimizations and machine code generation. Topics covered in this course include Run-Time Environments, Local Optimizations, Mode Code Generation, Global Register Allocation, Implementing Object-Oriented Languages, Data Flow Analysis, Partial Redundancy Elimination, The Static Single Assignment Form, Automatic Parallelization, Instruction Scheduling, Software Pipelining, Energy-Aware Software Systems, Just-In-Time Compilation, Garbage Collection, Interprocedural Data Flow Analysis, and Worst Case Execution Time Estimation. (from nptel.ac.in)
Course Curriculum
- Lecture 01 – An Overview of a Compiler Unlimited
- Lecture 02 – An Overview of a Compiler (cont.), Run-Time Environments Unlimited
- Lecture 03 – Run-Time Environments: Storage Allocation, Activation Records, etc. Unlimited
- Lecture 04 – Run-Time Environments (cont.), Local Optimizations Unlimited
- Lecture 05 – Local Optimizations (cont.), Code Generation Unlimited
- Lecture 06 – Code Generation: Samples of Generated Code, Optimal Code Generation Unlimited
- Lecture 07 – More on Optimal Code Generation Algorithms Unlimited
- Lecture 08 – Peephole Optimizations, Global Register Allocation Unlimited
- Lecture 09 – Linear Scan Register Allocation, Chaitin’s Graph Coloring based Algorithm Unlimited
- Lecture 10 – Global Register Allocation (cont.), Implementing Object-Oriented Languages Unlimited
- Lecture 11 – Implementing Object-Oriented Languages, Machine Independent Optimizations Unlimited
- Lecture 12 – Machine Independent Optimizations, Data Flow Analysis Unlimited
- Lecture 13 – Data Flow Analysis (cont.) Unlimited
- Lecture 14 – Data Flow Analysis (cont.), Control Flow Analysis Unlimited
- Lecture 15 – Control Flow Analysis Unlimited
- Lecture 16 – Machine Independent Optimizations: Copy Propagation, Loop Invariant Code Motion Unlimited
- Lecture 17 – Machine Independent Optimizations: Region based Data Flow Analysis Unlimited
- Lecture 18 – Region based Data Flow Analysis, Theoretical Foundations of Data Flow Analysis Unlimited
- Lecture 19 – Theoretical Foundations of Data Flow Analysis, Partial Redundancy Elimination Unlimited
- Lecture 20 – Partial Redundancy Elimination (cont.) Unlimited
- Lecture 21 – Static Single Assignment Form: Construction and Application to Program Optimizations Unlimited
- Lecture 22 – SSA Form: Construction and Application to Program Optimizations (cont.) Unlimited
- Lecture 23 – SSA Form: Construction and Application to Program Optimizations (cont.) Unlimited
- Lecture 24 – Automatic Parallelization: Loop Normalization, Data Dependence Relations Unlimited
- Lecture 25 – Automatic Parallelization: Data Dependence Relations, Direction Vectors Unlimited
- Lecture 26 – Automatic Parallelization: Data Dependence Equation and Framework Unlimited
- Lecture 27 – Automatic Parallelization: Loop Transformations for Increasing Parallelism Unlimited
- Lecture 28 – Instruction Scheduling Unlimited
- Lecture 29 – Instruction Scheduling: Simple List Scheduling Algorithm Unlimited
- Lecture 30 – Instruction Scheduling: Trace, Superblock and Hyperblock Scheduling Unlimited
- Lecture 31 – Software Pipelining Unlimited
- Lecture 32 – Energy-Aware Software Systems Unlimited
- Lecture 33 – Energy-Aware Software Systems: Power and Energy Model Trend Unlimited
- Lecture 34 – Energy-Aware Software Systems: Microarchitectural Techniques to Save Energy Unlimited
- Lecture 35 – Compiler Techniques to Save Static Energy in CPUs Unlimited
- Lecture 36 – Just-In-Time Compilation and Optimizations for .NET CLR Unlimited
- Lecture 37 – Garbage Collection Unlimited
- Lecture 38 – Interprocedural Data Flow Analysis Unlimited
- Lecture 39 – Worst Case Execution Time Unlimited
- Lecture 40 – Worst Case Execution Time (cont.) Unlimited
About the instructor
Instructor Rating
Reviews
Courses
Students
Hours of videos
1111 years
Units & Quizzes
Unlimited Lifetime access
Access on mobile app
Certificate of Completion
- For teams of 2 or more users
- 27,000+ fresh & in-demand courses
- Learning Engagement tools
- SSO and LMS Integrations